OSDN Git Service

* fhandler.h class fhandler_socket): Declare new method
authorcorinna <corinna>
Fri, 22 Jun 2001 20:53:45 +0000 (20:53 +0000)
committercorinna <corinna>
Fri, 22 Jun 2001 20:53:45 +0000 (20:53 +0000)
        `set_close_on_exec'.
        * fhandler_socket.cc (fhandler_socket::set_close_on_exec):
        New method.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_socket.cc

index eae9eaf..8dcfe7f 100644 (file)
@@ -1,3 +1,10 @@
+Fri Jun 22 16:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
+
+       * fhandler.h class fhandler_socket): Declare new method
+       `set_close_on_exec'.
+       * fhandler_socket.cc (fhandler_socket::set_close_on_exec):
+       New method.
+
 Fri Jun 22 16:12:00 2001  Corinna Vinschen <corinna@vinschen.de>
 
        * fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set size
index c6224d0..8c34c19 100644 (file)
@@ -383,6 +383,7 @@ public:
   void hclose (HANDLE) {close ();}
   int dup (fhandler_base *child);
 
+  void set_close_on_exec (int val);
   virtual void fixup_before_fork_exec (DWORD);
   void fixup_after_fork (HANDLE);
   void fixup_after_exec (HANDLE parent) { fixup_after_fork (parent); }
index 3ec1ac6..974f2de 100644 (file)
@@ -431,3 +431,12 @@ fhandler_socket::fcntl (int cmd, void *arg)
   return res;
 }
 
+void
+fhandler_socket::set_close_on_exec (int val)
+{
+  extern WSADATA wsadata;
+  if (wsadata.wVersion < 512) /* < Winsock 2.0 */
+    set_inheritance (get_handle (), val);
+  set_close_on_exec_flag (val);
+  debug_printf ("set close_on_exec for %s to %d", get_name (), val);
+}