Skip to content

Commit 1aa8322

Browse files
committed
Lock central call to Adabas
1 parent 121cf39 commit 1aa8322

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

adabas/adabasstructure.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ package adabas
2222
import (
2323
"bytes"
2424
"fmt"
25+
"sync"
2526
"sync/atomic"
2627
"time"
2728
"unsafe"
@@ -167,6 +168,7 @@ type Status struct {
167168
platform *adatypes.Platform
168169
adabas *Adabas
169170
version string
171+
lock sync.Mutex
170172
}
171173

172174
// ID Adabas Id

adabas/call.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ func NewAdabasID() *ID {
6969
// AdabasClient library support
7070
func (adabas *Adabas) CallAdabas() (err error) {
7171
defer TimeTrack(time.Now(), "Call adabas", adabas)
72+
s := adabas.status
73+
s.lock.Lock()
74+
defer s.lock.Unlock()
7275

7376
if adatypes.Central.IsDebugLevel() {
7477
adatypes.Central.Log.Debugf("Send calling CC %c%c adabasp=%p URL=%s Adabas ID=%v",

adabas/rcall.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ func NewAdabasID() *ID {
6969
// AdabasClient library support
7070
func (adabas *Adabas) CallAdabas() (err error) {
7171
defer TimeTrack(time.Now(), "RCall adabas", adabas)
72+
s := adabas.status
73+
s.lock.Lock()
74+
defer s.lock.Unlock()
7275

7376
if adatypes.Central.IsDebugLevel() {
7477
adatypes.Central.Log.Debugf("Call Adabas (local disabled) adabasp=%p %s%v", adabas, adabas.URL.String(), adabas.ID.String())

0 commit comments

Comments
 (0)