Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
AgeCommit message (Collapse)Author
2003-09-25* devices.cc: New file.Christopher Faylor
* devices.gperf: New file. * devices.shilka: New file. * cygwin-gperf: New file. * cygwin-shilka: New file. * fhandler_fifo.cc: New file. * fhandler_nodevice.cc : New file. Reorganize headers so that path.h precedes fhandler.h throughout. Remove device argument and unit arguments from fhandler constructors throughout. Remove pc arguments to fhandler functions and use internal pc element instead, throughout. Use dev element in pc throughout. Use major/minor elements rather than units and device numbers previously in fhandler class. Use correct methods for fhandler file names rather than directly accessing file name variables, throughout. * Makefile.in (DLL_OFILES): Add devices.o, fhandler_fifo.o * dcrt0.cc (dll_crt0_1): Call device::init. * devices.h: Renumber devices based on more Linux-like major/minor numbers. Add more devices. Declare standard device storage. (device): Declare struct. * dir.cc (opendir): Use new 'build_fh_name' to construct a fhandler_* type. * dtable.cc (dtable::get_debugger_info): Ditto. (cygwin_attach_handle_to_fd): Ditto. (dtable::release): Remove special FH_SOCKET case in favor of generic "need_fixup_before" test. (dtable::init_std_file_from_handle): Use either build_fh_dev or build_fh_name to build standard fhandler. (dtable::build_fh_name): Renamed from dtable::build_fhandler_from_name. Move out of dtable class. Don't accept a path_conv argument. Just build it here and pass it to: (build_fh_pc): Renamed from dtable::build_fhandler. Move out of dtable class. Use intrinsic device type in path_conv to create new fhandler. (build_fh_dev): Renamed from dtable::build_fhandler. Move out of dtable class. Simplify arguments to just take new 'device' type and a name. Just return pointer to fhandler rather than trying to insert into dtable. (dtable::dup_worker): Accommodate above build_fh name changes. (dtable::find_fifo): New (currently broken) function. (handle_to_fn): Use strechr for efficiency. * dtable.h: Reflect above build_fh name changes and argument differences. (fhandler_base *&operator []): Return self rather than copy of self. * fhandler.cc (fhandler_base::operator =): Use pc element to set normalized path. (fhandler_base::set_name): Ditto. (fhandler_base::raw_read): Use method to access name. (fhandler_base::write): Correctly use get_output_handle rather than get_handle. (handler_base::device_access_denied): New function. (fhandler_base::open): Eliminate pc argument and use pc element of fhandler_base throughout. (fhandler_base::fstat): Detect if device is based in filesystem and use fstat_fs to calculate stat, if so. (fhandler_base::fhandler_base): Eliminate handling of file names and, instead, just free appropriate component from pc. (fhandler_base::opendir): Remove path_conv parameter. * fhandler.h: Remove all device flags. (fhandler_base::pc): New element. (fhandler_base::set_name): Change argument to path_conv. (fhandler_base::error): New function. (fhandler_base::exists): New function. (fhandler_base::pc_binmode): New function. (fhandler_base::dev): New function. (fhandler_base::open_fs): New function. (fhandler_base::fstat_fs): New function. (fhandler_base::fstat_by_name): New function. (fhandler_base::fstat_by_handle): New function. (fhandler_base::isfifo): New function. (fhandler_base::is_slow): New function. (fhandler_base::is_auto_device): New function. (fhandler_base::is_fs_special): New function. (fhandler_base::device_access_denied): New function. (fhandler_base::operator DWORD&): New operator. (fhandler_base::get_name): Return normalized path from pc. (fhandler_base::get_win32_name): Return windows path from pc. (fhandler_base::isdevice): Renamed from is_device. (fhandler_base::get_native_name): Return device format. (fhandler_fifo): New class. (fhandler_nodevice): New class. (select_stuff::device_specific): Remove array. (select_stuff::device_specific_pipe): New class element. (select_stuff::device_specific_socket): New class element. (select_stuff::device_specific_serial): New class element. (select_stuff::select_stuff): Initialize new elements. * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Move to base class from fhandler_disk_file. (fhandler_base::fstat_by_name): Ditto. (fhandler_base::fstat_by_name): Ditto. (fhandler_disk_file::open): Move most functionality into fhandler_base::open_fs. (fhandler_base::open_fs): New function. (fhandler_disk_file::close): Move most functionality into fhandler_base::close_fs. (fhandler_base::close_fs): New function. * fhandler_mem.cc (fhandler_dev_mem::open): Use device name in debugging output. * fhandler_socket.cc (fhandler_socket::set_connect_secret): Copy standard urandom device into appropriate place. (fhandler_socket::accept): Reflect change in fdsock return value. * fhandler_tty.cc: See "throughouts" above. * net.cc: Accommodate fdsock change throughout. (fdsock): Return success or failure, accept fd argument and device argument. * path.cc (symlink_info::major): New element. (symlink_info::minor): New element. (symlink_info::parse_device): Declare new function. (fs_info::update): Accommodate changes in path_conv class. (path_conv::fillin): Ditto. (path_conv::return_and_clear_normalized_path): Eliminate. (path_conv::set_normalized_path): New function. (path_conv::path_conv): Set info in dev element. Use path_conv methods Check for FH_FS rather than FH_BAD to indicate when to fill in filesystem stuff. where appropriate rather than direct access. Use set_normalized_path to set normalized path. (windows_device_names): Eliminate. (get_dev): Ditto. (get_raw_device_number): Ditto. (get_device_number): Ditto. (win32_device_name): Call new device name parser to do most of the heavy lifting. (mount_info::conv_to_win32_path): Fill in dev field as appropriate. (symlink_worker): Handle new device files. (symlink_info::check): Ditto. (symlink_info::parse_device): Define new function. * path.h (executable_states): Move here from fhandler.h. (fs_info): Rename variables to *_storage and create methods for accessing same. (path_conv): Add dev element, remove devn and unit and adjust inline methods to accommodate. (set_normalized_path): Declare new function. * pinfo.cc (_pinfo::commune_recv): Add broken support for handling fifos. (_pinfo::commune_send): Ditto. * pipe.cc (fhandler_pipe::close): check for existence of handle before closing it. (handler_pipe::create): Rename from make_pipe. Change arguments to accept fhandler_pipe array. Accommodate fifos. (pipe): Rework to deal with fhandler_pipe::create changes. (_pipe): Ditto. * select.cc: Use individual device_specific types throughout rather than indexing with obsolete device number. (set_bits): Use is_socket call rather than checking device number. * shared_info.h (CURR_MOUNT_MAGIC): Update. (conv_to_win32_path): Reflect addition of device argument. * syscalls.cc (mknod_worker): New function. (open): Use build_fh_name to build fhandler. (chown_worker): Detect if this is an 'auto' device rather than an on-filesystem device and handle appropriately. (chmod_device): New function. (chmod): Detect if this is an 'auto' device rather than an on-filesystem device and handle appropriately. Use chmod_device to set mode of in-filesystem devices. (stat_worker): Eliminate path_conv argument. Call build_fh_name to construct fhandler. Use fh->error() rather than pc->error to detect errors in fhandler construction. (access_worker): New function pulled from access. Accommodate in-filesystem devices. (access): Use access_worker. (fpathconf): Detect if this is an 'auto' device rather than an on-filesystem device and handle appropriately. (mknod_worker): New function. (mknod32): New function. (chroot): Free normalized path -- assuming it was actually cmalloced. * tty.cc (create_tty_master): Tweak for new device class. (tty::common_init): Ditto. * winsup.h (stat_worker): Remove. (symlink_worker): Declare. * exceptions.cc (set_process_mask): Just call sig_dispatch_pending and don't worry about pending_signals since sig_dispatch_pending should always do the right thing now. (sig_handle): Reorganize SIGCONT handling to more closely conform to SUSv3. * pinfo.h: Move __SIG enum to sigproc.h. (PICOM_FIFO): New enum element. (_pinfo): Remove 'thread2signal' stuff throughout class. (_pinfo::commune_send): Make varargs. (_pinfo::sigtodo): Eliminate. (_pinfo::thread2signal): Ditto. * signal.cc (kill_worker): Eliminate call to setthread2signal. * sigproc.cc (local_sigtodo): Eliminate. (getlocal_sigtodo): Ditto. (sigelem): New class. (pending_signals): New class. (sigqueue): New variable, start of sigqueue linked list. (sigcatch_nonmain): Eliminate. (sigcatch_main): Eliminate. (sigcatch_nosync): Eliminate. (sigcomplete_nonmain): Eliminate. (pending_signals): Eliminate. (sig_clear): Call signal thread to clear pending signals, unless already in signal thread. (sigpending): Call signal thread to get pending signals. (sig_dispatch_pending): Eliminate use of pending_signals and just check sigqueue. (sigproc_terminate): Eliminate all of the obsolete semaphore stuff. Close signal pipe handle. (sig_send): Eliminate all of the obsolete semaphore stuff and use pipe to send signals. (getevent): Eliminate. (pending_signals::add): New function. (pending_signals::del): New function. (pending_signals::next): New function. (wait_sig): Eliminate all of the obsolete semaphore stuff. Use pipe to communicate and maintain a linked list of signals. * sigproc.h: Move __SIG defines here. Add __SIGPENDING. (sig_dispatch_pending): Remove "C" specifier. (sig_handle): Accept a mask argument. * thread.cc: Remove signal handling considerations throughout.
2003-09-24Remove test code.Dimitri Papadopoulos
2003-09-24* include/GL/glu.h (gluErrorUnicodeStringWIN): Add macroDimitri Papadopoulos
function. MSDN suggests using gluErrorUnicodeStringWIN instead of gluErrorString, as it allows both ANSI and Unicode error strings. * include/GL/glu.h (gluErrorUnicodeStringEXT): Make the returned pointer const for consistency reasons.
2003-09-24* include/GL/glu.h (gluErrorUnicodeStringEXT): Add function.Dimitri Papadopoulos
Function exists in glu32.def but is undocumented on MSDN. A Google search came up with this declaration.
2003-09-24* include/GL/glu.h: Rewritten from scratch. Started from GLU 1.3Dimitri Papadopoulos
headers from OpenGL Sample Implementation. Windows ships with GLU 1.2 so some constants and functions were removed. Then some typedef's and function declarations were reworked to look like the previous GL/glu.h.
2003-09-24* include/uxtheme.h (PROPERTYORIGIN): the documentation ofDimitri Papadopoulos
PROPERTYORIGIN suggests it's `PROPERTYORIGIN' but experimentation suggests it's actually `enum PROPERTYORIGIN'. Keep both. * include/uxtheme.h (THEME_SIZE, THEMESIZE): MSDN suggests it's either `THEME_SIZE' or `THEMESIZE' but experimentation suggests it's actually `enum THEMESIZE'. Keep `THEME_SIZE' and `enum THEMESIZE'.
2003-09-24Previous commit went wrong.Dimitri Papadopoulos
2003-09-24* include/uxtheme.h: New file.Dimitri Papadopoulos
* include/tmschema.h: New file. * include/uxtheme.def: New file. * lib/test.c: Include uxtheme.h, tmschema.h.
2003-09-24 * include/io.h (_fileno): Remove prototype.Danny Smith
(fileno): Likewise. (FILENAME_MAX): Define, if needed. Don't include <stdio.h>. * include/stdio.h (FILENAME_MAX): Protect against prior definition. (_fileno): Define macro implementation. (fileno): Likewise.
2003-09-24Didn't follow GNU standards in previous commits. Cleaning up.Dimitri Papadopoulos
2003-09-24 * include/inttypes.h: Include _mingw.h.Danny Smith
2003-09-24 * include/_mingw.h (__CRT_INLINE): Define.Danny Smith
* include/ctype.h: Replace 'extern inline' with __CRT_INLINE, throughout * include/inttypes.h: Likewise. * include/math.h: Likewise. * include/stdio.h: Likewise. * include/stdlib.h: Likewise. * include/string.h: Likewise. * include/wchar.h: Likewise. * include/wctype.h: Likewise.
2003-09-23This fixes regression in <winable.h> introduced by previous change.Dimitri Papadopoulos
2003-09-23New CHILDID_SELF constant.Dimitri Papadopoulos
More duplicates in <winuser.h> and <winable.h>.
2003-09-23Bring back OBJID_* and GUITHREADINFO constants in <winuser.h>.Dimitri Papadopoulos
Some constants and structures are duplicated in <winable.h> and <winuser.h>. Add GUI_* and new KEYEVENTF_* constants.
2003-09-23add some missing constantsDimitri Papadopoulos
2003-09-23* dcrt0.cc (do_exit): Eliminate "C" linkage. Call events_terminate early.Christopher Faylor
(exit_states): Move out of source file into header file. * winsup.h: Move exit_states here. Remove "C" linkage from do_exit declaration. * debug.cc (lock_debug): Remove explicit (and incorrect) external for exit_state. * sigproc.cc (sig_dispatch_pending): Don't flush signals if exiting.
2003-09-232003-09-22 Roland Schwingel <rolandschwingel@users.sourceforge.net>Danny Smith
* mingwex/dirent.c (_topendir): Allocate enough memory for DIR struct in UNICODE case too.
2003-09-21* kill.cc (main): Allow negative pids (indicates process groups).Christopher Faylor
2003-09-20* spawn.cc (pthread_cleanup): New struct.Christopher Faylor
(do_cleanup): New function. (spawn_guts): Initialize struct for pthread_cleanup handling to ensure proper restoration of signals if/when thread is cancelled. Restore settings using pthread_cancel_pop.
2003-09-20* include/cygwin/version.h: Bump DLL minor number to 6.Christopher Faylor
2003-09-20* thread.h (__reent_t::init_clib): Declare new function.Christopher Faylor
* thread.cc (__reent_t::init_clib): Define new function. (pthread::thread_init_wrapper): Use __reent_t::init_clib to init local clib storage and set std{in,out,err} appropriately.
2003-09-20fix accidental checkinChristopher Faylor
2003-09-20* syscalls.cc (system): Strip signal considerations from here so that they areChristopher Faylor
not inherited by a child process. * spawn.cc (spawn_guts): Handle system() signal stuff here. * winsup.h (_P_SYSTEM): Define.
2003-09-18 * fhandler_tty.cc (fhandler_pty_master::process_slave_output):Corinna Vinschen
Handle buf == NULL as flushing the buffer. (fhandler_tty_slave::read): Handle ptr == NULL as flushing the buffer. (fhandler_tty_slave::tcflush): Implement input queue flushing by calling read with NULL buffer. (fhandler_pty_master::tcflush): Ditto, calling process_slave_output. * termios.cc (tcflush): Check for legal `queue' value. Return EINVAL otherwise.
2003-09-18* parse_pe.cc (exclusion::sort_and_check): Make error message a little moreChristopher Faylor
explicit and ignore (hopefully) harmless region overlap.
2003-09-18* syscalls.cc (gethostid): Add lpFreeBytesAvailable argument toChristopher Faylor
GetDiskFreeSpaceEx call since NT4 requires it.
2003-09-18 * include/winuser.h (UpdateLayeredWindow): Protect against NOGDI.Danny Smith
Thanks to Will Levine <willll@users.sourceforge.net>
2003-09-17* fhandler_process.cc (fhandler_process::fill_filebuf): Open pinfo withChristopher Faylor
PID_MAP_RW. * sigproc.cc (talktome): Ditto for winpids.
2003-09-17fix stupid typoChristopher Faylor
2003-09-17* pinfo.h (winpids::pid_access): New element.Christopher Faylor
(winpids::winpids): Rejigger to set pinfo_access. * pinfo.cc (winpids::add): Try to open shared memory region with supplied pinfo_access first, then default to readonly. * fhandler_termios.cc (tty_min::kill_pgrp): When getting list of pids to work with, suggest opening with PID_MAP_RW. * signal.cc (kill_pgrp): Ditto. * sigproc.cc (sig_send): Perform a write check on todo prior to attempting to increment it. Return EACCES if we can't write to it.
2003-09-16 * cygheap.cc (cygheap_user::set_saved_sid): Rename from set_orig_sid.Corinna Vinschen
* cygheap.h (class cygheap_user): Rename orig_psid, orig_uid and orig_gid to saved_psid, saved_uid and saved_gid respectively. Rename methods orig_sid and set_orig_sid to saved_sid and set_saved_sid respectively. * sec_helper.cc (sec_acl): Accomodate above changes. * spawn.cc (spawn_guts): Ditto. * uinfo.cc (uinfo_init): Ditto.
2003-09-16fix typoChristopher Faylor
2003-09-16* getopt.cc (opterr): Reinstate initialization.Christopher Faylor
(optind): Ditto. (optopt): Ditto. * pinfo.cc: Include cygheap.h or suffer compile error. * shared.h: Reset magic number.
2003-09-16* exceptions.cc (sig_handle_tty_stop): Fix boneheaded mistake by using correctChristopher Faylor
check for parent state rather than inverted check.
2003-09-162003-09-15 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet
* security.h (__sec_user): Add "access2" argument. (sec_acl): Add "original" and "access2" arguments. (sec_user): Add "sid2" and "access2" argument. Remove dependence on allow_ntsec. (sec_user_nih): Ditto. * sec_helper.cc (__sec_user): Add "has_security" test. Call sec_acl with new arguments, letting it handle original_sid. (sec_acl): Add "original" and "access2" arguments. Handle original_sid depending on flag but avoiding duplicates. Use "access2" for sid2. * pinfo.cc (pinfo::init): Use security attributes created by sec_user when creating the mapping. * security.cc (create_token): Adjust arguments in call to sec_acl. Call sec_user instead of __sec_user. * syscall.cc (seteuid32): Adjust arguments in call to sec_acl. Remove now unnecessary test. Remove useless conversions to psid. * dcrt0.cc (dll_crt0_1): Call cygsid::init before pinfo_init.
2003-09-15 * include/_mingw.h: Increment version to 3.2.Earnie Boyd
* Makefile.in: Ditto.
2003-09-15 * include/w32api.h: Increment version to 2.5.Earnie Boyd
* Makefile.in: Ditto.
2003-09-152003-09-15 Danny Smith <dannysmith@users.sourceforge.net>Danny Smith
* include/ws2spi.h (LPWSPBIND): Change CONST LPSOCKADDR to const struct sockaddr*. (LPWSPCONNECT): Likewise. (LPWSPJOINLEAF): Likewise. (LPWSPSENDTO): Likewise. Tanks to Sebastian Nowak <snowak1@users.spourceforge.net> 2003-09-15 Filip Navara <xnavara@volny.cz> * include/commctrl.h (TCIS_BUTTONPRESSED, TCIS_HIGHLIGHTED): Add definitions. 2003-09-15 Sascha Brawer <brawer@dandelis.ch> * include/winuser.h (DISPLAY_DEVICE_ATTACHED_TO_DESKTOP, DISPLAY_DEVICE_PRIMARY_DEVICE, DISPLAY_DEVICE_MIRRORING_DRIVER, DISPLAY_DEVICE_VGA_COMPATIBLE, DISPLAY_DEVICE_REMOVABLE, DISPLAY_DEVICE_MODESPRUNED): Define constants. (ChangeDisplaySettingsEx[A,W]): Add prototype. * lib/user32.def (ChangeDisplaySettingsEx[A,W]): Add exports. (EnumDisplayDevices[A,W]): Likewise. 2003-09-15 Danny Smith <dannysmith@users.sourceforge.net> * include.commctrl.h (_WIN32_WINNT): Change _WXP to 0x0501, throughout.
2003-09-14* Makefile.in: Make malloc_wrapper -fomit-frame-pointer.Christopher Faylor
* cygwin.din: Remove extraneous mallinfo definition. * dcrt0.cc (quoted): Use strechr for efficiency. * fhandler.cc (fhandler_base::write): Correctly use get_output_handle rather than get_handle. (fhandler_base::lseek): Use method for accessing name in debug output.
2003-09-14* fhandler_disk_file.cc (path_conv::ndisk_links): Fix potential off-by-oneChristopher Faylor
problem when first file in a directory is a directory.
2003-09-13* kill.c (forcekill): Wait for process to terminate even if TerminateProcessChristopher Faylor
says it failed.
2003-09-13* include/sys/cygwin.h: Rename PID_UNUSED to PID_MAP_RW.Christopher Faylor
* pinfo.cc (pinfo_init): Initialize myself->gid. (pinfo::init): Create the "access" variable, set it appropriately and use it to specify the requested access. * exceptions.cc (sig_handle_tty_stop): Add PID_MAP_RW in pinfo parent. * signal.cc (kill_worker): Ditto for pinfo dest. * syscalls.cc (setpgid): Ditto for pinfo p.
2003-09-13* include/cygwin/version.h: Bump DLL minor number to 5.Christopher Faylor
2003-09-13 * include/olectl.h (TEXTMETRICOLE, LPERRORLOG, LPPROPERTYBAG,Danny Smith
LPENUMCONNECTIONPOINTS, LPCONNECTIONPOINT, LPENUMCONNECTIONS, LPPROPERTYPAGESITE, LPFONT, LPFONTDISP, OLE_COLOR, HIMETRIC, OLE_YPOS_HIMETRIC, OLE_XSIZE_HIMETRIC, OLE_YSIZE_HIMETRIC, OLE_YSIZE_CONTAINER, OLE_HANDLE, POINTF,LPPOINTF, CONTROLINFO, LPCONTROLINFO, CONNECTDATA, LPCONNECTDATA, LICINFO, LPLICINFO, CAUUID, LPCAUUID, CALPOLESTR, LPCALPOLESTR, CADWORD, LPCADWORD, PROPPAGEINFO, LPPROPPAGEINFO): Remove from here ... * include/ocidl.h: (TEXTMETRICOLE, LPERRORLOG, LPPROPERTYBAG, LPENUMCONNECTIONPOINTS, LPCONNECTIONPOINT, LPENUMCONNECTIONS, LPPROPERTYPAGESITE, LPFONT, LPFONTDISP, OLE_COLOR, HIMETRIC, OLE_YPOS_HIMETRIC, OLE_XSIZE_HIMETRIC, OLE_YSIZE_HIMETRIC, OLE_YSIZE_CONTAINER, OLE_HANDLE, POINTF, LPPOINTF, CONTROLINFO, LPCONTROLINFO, CONNECTDATA, LPCONNECTDATA, LICINFO, LPLICINFO, CAUUID, LPCAUUID, CALPOLESTR, LPCALPOLESTR, CADWORD, LPCADWORD, PROPPAGEINFO, LPPROPPAGEINFO): ... to here, for consistency with documentation. * include/olectl.h: Do #include <ocidl.h>. * include/ocidl.h: Don't #include <olectl.h>.
2003-09-13 * include/winuser.h (_WIN32_WINNT, _WIN32_WINDOWS, WINVER):Danny Smith
Change guards to use numeric constants, throughout.
2003-09-13* thread.cc (MTinterface::fixup_after_fork): Remove code which potentiallyChristopher Faylor
overwrote _impure pointer with contents of thread which invoked fork since this eliminates important information like the pointer to the atexit queue.
2003-09-13* fhandler_disk_file.cc (path_conv::ndisk_links): Fix problem where searchChristopher Faylor
characters overwrote the path instead of being tacked on the end.
2003-09-12* dcrt0.cc (_dll_crt0): Accommodate breaking apart of early_stuff_init.Christopher Faylor
* exceptions.cc (early_stuff_init): Delete. (init_console_handler): New function - top half of early_stuff_init. (init_global_security): New function - bottom half of early_stuff_init. (sig_handle): Avoid special hExeced test for SIGINT. Just terminate the captive process. (signal_exit): Add debugging output. * fhandler_tty.cc (fhandler_tty_slave::open): Don't allocate a console if one already seems to exist. Properly initialize ctrl-c handling if we do allocate a console. * winsup.h (early_stuff_init): Delete declaration. (init_console_handler): New declaration. (init_global_security): New declaration.
2003-09-12* Makefile.in: Tweak mingw libz.a detection to make it more reliably detectChristopher Faylor
when libz.a is not available.