diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-07-22 15:46:36 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-07-22 15:46:36 +0000 |
commit | 4a77aea0714cf0175279fbf65cdb8322a5af958b (patch) | |
tree | 6c49ca63adb99610e12ed93645b40c3ee5153672 /winsup/cygwin/fhandler.h | |
parent | 1e497ebd33c2e75d6e2a00d438d8012b3f4ab79c (diff) | |
download | cygnal-4a77aea0714cf0175279fbf65cdb8322a5af958b.tar.gz cygnal-4a77aea0714cf0175279fbf65cdb8322a5af958b.tar.bz2 cygnal-4a77aea0714cf0175279fbf65cdb8322a5af958b.zip |
* fhandler.h (enum del_lock_called_from): New enumeration.
(fhandler_base::del_my_locks): Declare taking a del_lock_called_from
as argument.
* fhandler.cc (fhandler_base::close): Call del_my_locks with "on_close".
(fhandler_base::fixup_after_fork): Call del_my_locks with "after_fork".
(fhandler_base::fixup_after_exec): Call del_my_locks with "after_exec".
* flock.cc (fhandler_base::del_my_locks): Take del_lock_called_from
as argument. Call node->del_my_locks with NULL handle in after_exec
case. Explain why.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 465924190..4995d15b2 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -93,6 +93,12 @@ enum query_state { query_write_attributes = 4 }; +enum del_lock_called_from { + on_close, + after_fork, + after_exec +}; + class fhandler_base { friend class dtable; @@ -141,7 +147,7 @@ class fhandler_base /* Used for advisory file locking. See flock.cc. */ long long unique_id; - void del_my_locks (bool); + void del_my_locks (del_lock_called_from); HANDLE read_state; int wait_overlapped (bool, bool, DWORD *, DWORD = 0) __attribute__ ((regparm (3))); |