+2002-10-17 Christopher Faylor <cgf@redhat.com>
+
+ * dtable.cc (dtable::set_file_pointers_for_exec): New function.
+ * dtable.h (dtable::set_file_pointers_for_exec): Declare new function.
+ * spawn.cc (spawn_guts): Call dtable::set_file_pointers_for_exec to set
+ pointers to EOF when execing non-cygwin applications.
+
2002-10-17 Robert Collins <rbtcollins@hotmail.com>
* thread.h (pthread_mutex::isGoodInitializerOrBadObject): Declare.
ReleaseResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "fixup_before_exec");
}
+void
+dtable::set_file_pointers_for_exec ()
+{
+ SetResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "set_file_pointers_for_exec");
+ fhandler_base *fh;
+ for (size_t i = 0; i < size; i++)
+ if ((fh = fds[i]) != NULL && fh->get_flags () & O_APPEND)
+ SetFilePointer (fh->get_handle (), 0, 0, FILE_END);
+ ReleaseResourceLock (LOCK_FD_LIST, WRITE_LOCK | READ_LOCK, "fixup_before_exec");
+}
+
void
dtable::fixup_after_exec (HANDLE parent)
{