summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/window.cc
Commit message (Collapse)AuthorAgeFilesLines
* Split ChangeLog, create ChangeLog-2002.Corinna Vinschen2003-01-101-1/+1
| | | | Fix copyright dates.
* * windows.cc (setitimer): Return ENOSYS on invalid argument.Christopher Faylor2002-12-301-1/+1
|
* * cygthread.cc (cygthread::stub): Don't create event for long-running threads.Christopher Faylor2002-10-131-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Initialize thread_sync event here which is used to Suspend using an event rather than relying on SuspendThread/ResumeThread. (cygthread::init): Save handle to runner thread for future termination. (cygthread::cygthread): Only resume thread when it is actually suspended. Otherwise signal thread completion event. (cygthread::terminate): Forcibly terminate runner thread and any helper threads. Call DisableThreadLibrary calls if execing. * cygthread.h (cygthread::thread_sync): Declare. * dcrt0.cc (do_exit): Eliminate calls to obsolete window_terminate and shared_terminate. * exceptions.cc (events_terminate): Don't bother closing title_mutex since it is going away anyway. * pinfo.cc (_pinfo::exit): Call cygthread::terminate to ensure that threads are shut down before process exit or otherwise strange races seem to occur. * shared.cc (shared_terminate): Eliminate. * shared.h (shared_terminate): Eliminate declaration. * winsup.h (window_terminate): Eliminate declaration. * spawn.cc (spawn_guts): Call cygthread::terminate early in process if execing. Call DisableThreadLibrary calls if execing. * window.cc (Winmain): Call ExitThread to force exit. (window_terminate): Eliminate. * dcrt0.cc (do_exit): Track exit state more closely.
* * window.cc (gethwnd): Use SetThreadPriority method.Christopher Faylor2002-10-101-8/+7
|
* More GNUify non-GNU formatted functions calls throughout.Christopher Faylor2002-09-231-1/+1
|
* * Makefile.in (DLL_OFILES): Add cygthread.o.Christopher Faylor2002-08-011-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dcrt0.cc (dll_crt0_1): Eliminate various thread initialization functions in favor of new cygthread class. * debug.cc: Remove thread manipulation functions. * debug.h: Ditto. * external.cc (cygwin_internal): Use cygthread method for determining thread name. Remove capability for setting thread name. * fhandler_console.cc (fhandler_console::read): Use cygthread method rather than iscygthread function. * fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master): Use cygthread methods to create threads. (fhandler_tty_common::__acquire_output_mutex): Use cygthread method to retrieve thread name. * select.cc (pipeinf): Use cygthread pointer rather than handle. (start_thread_pipe): Ditto. (pipe_cleanup): Ditto. (serialinf): Ditto. (start_thread_serial): Ditto. (serial_cleanup): Ditto. (socketinf): Ditto. (start_thread_socket): Ditto. (socket_cleanup): Ditto. * sigproc.cc (hwait_sig): Ditto. (hwait_subproc): Ditto. (proc_terminate): Ditto. (sigproc_terminate): Ditto. (sigproc_init): Initialize cygthread hwait_sig pointer. (subproc_init): Initialize cygthread hwait_subproc pointer. (wait_sig): Rely on cygthread HANDLE operator. * strace.cc (strace::vsprntf): Use cygthread::name rather than threadname. * window.cc (gethwnd): Use cygthread method to initialize thread.
* * dtable.cc (handle_to_fn): Attempt to handle "raw" accesses to remote shares.Christopher Faylor2002-06-051-1/+1
| | | | | | * path.cc (mount_info::conv_to_win32_path): Set flags to binary when mount entry is not found. (mount_info::set_flags_from_win32_path): Ditto.
* * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.Christopher Faylor2002-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (LoadFuncEx2): Adapted from LoadFuncEx. Provides control of return value for nonexistent function. (NtQueryObject): Declare. (IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if not available. * debug.h (being_debugged): Just rely on IsDebuggerPresent return value. * dtable.cc (handle_to_fn): New function. (dtable::init_std_file_from_handle): Attempt to derive std handle's name via handle_to_fn. (dtable::build_fhandler_from_name): Fill in what we can in path_conv structure when given a handle and path doesn't exist. * fhandler.cc (fhandler_base::open): Don't set the file pointer here. Use pc->exists () to determine if file exists rather than calling GetFileAttributes again. * fhandler.h (fhandler_base::exec_state_isknown): New method. (fhandler_base::fstat_helper): Add extra arguments to declaration. (fhandler_base::fstat_by_handle): Declare new method. (fhandler_base::fstat_by_name): Declare new method. * fhandler_disk_file (num_entries): Make __stdcall. (fhandler_base::fstat_by_handle): Define new method. (fhandler_base::fstat_by_name): Define new method. (fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate. (fhandler_disk_file::fstat_helper): Accept extra arguments for filling out stat structure. Move handle or name specific stuff to new methods above. (fhandler_disk_file::open): Use real_path->exists rather than calling GetFileAttributes again. * ntdll.h (FILE_NAME_INFORMATION): Define new structure. (OBJECT_INFORMATION_CLASS): Partially define new enum. (OBJECT_NAME_INFORMATION): Define new structure. (NtQueryInformationFile): New declaration. (NtQueryObject): New declaration. * path.cc (path_conv::fillin): Define new method. * path.h (path_conv::fillin): Declare new method. (path_conv::drive_thpe): Rename from 'get_drive_type'. (path_conv::volser): Declare new method. (path_conv::volname): Declare new method. (path_conv::root_dir): Declare new method. * syscalls.cc (fstat64): Send real path_conv to fstat as second argument.
* * ioctl.cc (ioctl): Make third argument optional.Corinna Vinschen2002-01-061-1/+6
| | | | | | | | * include/sys/ioctl.h: Ditto in declaration. * dtable.cc (dtable::init_std_file_from_handle): Revert previous bogus patch. * window.cc (WndProc): Raise SIGURG instead of SIGIO in case of FD_OOB message.
* * path.cc (path_conv::check): Don't complain if /dev/x/foo when x doesn'tChristopher Faylor2001-12-061-0/+1
| | | | | | | | | exist. (mount_info::conv_to_win32_path): Keep translating when a /cygdrive is found. Don't attempt to translate to a device name when devn == FH_CYGDRIVE. (cygwin_conv_to_win32_path): Set buffer to empty on error. (cygwin_conv_to_full_win32_path): Ditto. * window.cc: Include unistd.h to verify definitions.
* * cygwin.din (ualarm): New export.Christopher Faylor2001-11-281-11/+23
| | | | | | | | | | | | * dcrt0.cc (_dll_crt0): Add experimental tls storage declaration. (dll_crt0): Ditto. * debug.cc (thread_stub): Ditto. * thread.cc: Minor cleanup. (__pthread_create): Add experimental tls storage declaration. * miscfuncs.cc: Define tls index. * winsup.h: Declare experimental tls storage. * window.cc (alarm): Use old timer return from setitimer. (ualarm): New function.
* * autoload.cc (wsock_init): Reorganize slightly to accomodate a new compiler.Christopher Faylor2001-10-131-1/+1
|
* Update copyrights.Christopher Faylor2001-09-111-1/+1
|
* Move appropriate variables to NO_COPY segment, throughout.Christopher Faylor2001-09-061-1/+1
|
* Fix spacing, copyrights.Christopher Faylor2001-03-181-3/+3
|
* Break out more header info into separate files. Use appropriate header filesChristopher Faylor2000-09-081-0/+3
| | | | | | | | | | | | throughout. * shared.h: Remove. * cygwin_version.h: New file. * delqueue.h: New file. * environ.h: New file. * host_dependent.h: New file. * perprocess.h: New file. * registry.h: New file. * security.h: New file.
* * cygerrno.h: New file. Use this throughout whenever errno manipulation isChristopher Faylor2000-08-221-0/+1
| | | | | | | | | | | | | | | required. * errno.cc: Use DWORD to hold Windows errors. (geterrno_from_win_error): New function. (seterrno_from_win_error): Use geterrno_from_win_error to convert supplied windows error (suggested by Corinna Vinschen). * path.cc (symlink_info): Add error element. * path.cc (path_conv::check): Remove errno setting. Use new symlink_info errno element to set path_conv error, where appropriate. (symlink_info::check): Set error element rather than attempting to manipulate errno. Add more checks for trailing / and /.. even though they are currently useless. Avoid setting EINVAL. * path.cc (normalize_posix_path): Correct check for trailing /.
* * winsup.h: take out protections of environ, errno, allow C useDJ Delorie2000-08-021-1/+1
| | | | | | | | | | * *.cc: put winsup.h before other headers (for __INSIDE_CYGWIN__); use cur_environ() instead of just environ * times.cc: remove import protections * glob.c: add winsup.h * localtime.c: ditto * smallprint.c: ditto * Makefile.in: don't __INSIDE_CYGWIN__ as it messes up profiling.
* * testsuite/winsup.api/winsup.exp: ignore stdout by defaultDJ Delorie2000-07-271-0/+2
| | | | | | | | | | | | | | | | | | | * testsuite/winsup.api/crlf.c: non-verbose by default * winsup.h: prune out windows headers we don't normally need * assert.cc: add wingdi.h and winuser.h * fhandler_console.cc: ditto * fhandler_windows.cc: ditto * select.cc: ditto * spawn.cc: ditto * strace.cc: ditto * tty.cc: ditto * window.cc: ditto * hinfo.cc: add winsock.h * syscalls.cc: add winnls.h * uinfo.cc: ditto * include/windows.h: optimize non-inclusion of repeat headers
* * windows.cc (setitimer): Round up when < 1000 usecs.Christopher Faylor2000-06-261-1/+4
|
* * window.cc (setitimer): Check for overflow conditionCorinna Vinschen2000-05-091-0/+7
| | | | in tv_sec.
* Throughout use strace class in place of individual functions and variables.Christopher Faylor2000-03-071-1/+1
| | | | | | * cygwin.din: Eliminate _strace_wm. * sigproc.cc (wait_sig): Temporarily add more debugging output. * include/cygwin/version.h: Bump minor api to reflect export change.
* Respond to a multitude of g++ warnings.Christopher Faylor2000-02-211-1/+1
|
* import winsup-2000-02-17 snapshotChristopher Faylor2000-02-171-0/+231