21 #if defined(R__WIN32) && !defined(R__WINGCC) 
   26 #define O_CREAT _O_CREAT 
   27 #define O_RDWR _O_RDWR 
   36 TLockPath::TLockPath(
const char *path) : fName(path), fLockId(-1)
 
   39    if (gSystem->ExpandPathName(fName))
 
   40       Warning(
"TLockPath", 
"problems expanding path '%s'", fName.Data());
 
   43 Int_t TLockPath::Lock(Bool_t shared)
 
   45    const char *pname = GetName();
 
   47    if (gSystem->AccessPathName(pname))
 
   48       fLockId = open(pname, O_CREAT | O_RDWR, 0644);
 
   50       fLockId = open(pname, O_RDWR);
 
   53       SysError(
"Lock", 
"cannot open lock file %s", pname);
 
   58       Info(
"Lock", 
"%d: locking file %s ...", gSystem->GetPid(), pname);
 
   60 #if !defined(R__WIN32) && !defined(R__WINGCC) 
   61    int op = (shared) ? LOCK_SH : LOCK_EX ;
 
   62    if (flock(fLockId, op) == -1) {
 
   63       SysError(
"Lock", 
"error locking %s", pname);
 
   71       Info(
"Lock", 
"%d: file %s locked", gSystem->GetPid(), pname);
 
   80 Int_t TLockPath::Unlock()
 
   86       Info(
"Unlock", 
"%d: unlocking file %s ...", gSystem->GetPid(), GetName());
 
   88    lseek(fLockId, 0, SEEK_SET);
 
   89 #if !defined(R__WIN32) && !defined(R__WINGCC) 
   90    if (flock(fLockId, LOCK_UN) == -1) {
 
   91       SysError(
"Unlock", 
"error unlocking %s", GetName());
 
   99       Info(
"Unlock", 
"%d: file %s unlocked", gSystem->GetPid(), GetName());