summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
...
* * security.cc (alloc_sd): Reformat comment.Corinna Vinschen2001-04-223-8/+9
| | | | * shared.cc: Drop function declarations already in security.h.
* * shortcut.c (check_shortcut): Close input file handle before returning.Christopher Faylor2001-04-223-22/+31
| | | | | | * path.cc (check_sysfile): Ditto. (symlink_info::check): Rely on opened file handle being closed by symlink checking routines. Set ext_tacked_on when .lnk is detected.
* * thread.cc (MTinterface::Init): Remove accidentally checked in code.Christopher Faylor2001-04-212-2/+4
|
* Sun Apr 22 20:22:00 2001 Robert Collins <rbtcollins@hotmail.com>Robert Collins2001-04-214-37/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * passwd.cc (getpwuid): Check for thread cancellation. (getpwuid_r): Ditto. (getpwname): Ditto. (getpwnam_r): Ditto. * thread.h (pthread_mutex): New constructors for pshared operation. (MTinterface): Associative array for pshared mutex's. * thread.cc (MTinterface::Init): Initailize pshared mutex array. (pthread_cond::BroadCast): Implementation notes. (pthread_cond::TimedWait): Remove use of SignalObjectAndWait on non-NT systems. (pthread_mutex::pthread_mutex(unsigned short)): New function. (pthread_mutex::pthread_mutex (pthread_mutex_t *, pthread_mutexattr *)):New function. (pthread_mutex::pthread_mutex(pthread_mutexattr *)): Fail on pshared mutex's. (__pthread_mutex_getpshared): New function. (__pthread_join): Check for thread cancellation. (__pthread_cond_timedwait): Support pshared mutex's. (__pthread_cond_wait): Ditto. (__pthread_condattr_setpshared): Error on PROCESS_SHARED requests. (__pthread_mutex_init): Support pshared mutex's. (__pthread_mutex_getprioceiling): Ditto. (__pthread_mutex_lock): Ditto. (__pthread_mutex_trylock): Ditto. (__pthread_mutex_unlock): Ditto. (__pthread_mutex_destroy): Ditto. (__pthread_mutex_setprioceiling): Ditto. (__pthread_mutexattr_setpshared): Support PTHREAD_PROCESS_PSHARED requests.
* * cygwin.din: Add *scanf and *scan_r functions.Christopher Faylor2001-04-202-0/+22
|
* * security.cc (set_process_privileges): Swap out.Corinna Vinschen2001-04-204-41/+50
| | | | | | | * sec_helper.cc (set_process_privilege): Rename from `set_process_privileges'. Takes the privilege to enable or disable as parameter now. * security.h: Add prototype for `set_process_privileges'.
* * path.cc (path_conv::check): Always initialize member variables.Christopher Faylor2001-04-202-5/+11
|
* * include/sys/file.h: More cleanup for X_OK.Christopher Faylor2001-04-202-4/+6
|
* * include/sys/file.h: Move X_OK protection earlier.Christopher Faylor2001-04-203-3/+15
| | | | * dtable.cc (dtable::vfork_child_fixup): Avoid closing already closed handles.
* * grp.cc (getgroups): Change so that SIDs get compared insteadCorinna Vinschen2001-04-202-6/+13
| | | | of strings to SIDs.
* * Makefile.in: Add object files `sec_helper.cc' and `sec_acl.cc'.Corinna Vinschen2001-04-207-1463/+1575
| | | | | | | | | | | | | | | * security.cc: Swap out several functions. * sec_acl.cc: New file. Move Sun compatibel ACL functions from `security.cc' to here. * sec_helper.cc: New file. Move security helper functions from `security.cc' to here. * security.h: Changed to accomodate the above changes. * grp.cc: Replace `group_in_memory_p' by `group_state'. Eliminate group_sem throughout. (enum grp_state): New enumeration type. (read_etc_group): Make race safe. * security.cc: Eliminate group_sem throughout.
* * mmap.cc (mmap): Drop usage of the same memory area if the sameCorinna Vinschen2001-04-192-3/+8
| | | | region of the same file is mapped twice.
* Throughout, change fdtab references to cygheap->fdtab.Christopher Faylor2001-04-1839-230/+400
| | | | | | | | | | | | | | | | | | | | | | | * child_info.h (cygheap_exec_info): Eliminate special fdtab stuff. * spawn.cc (spawn_guts): Ditto. * cygheap.cc (cygheap_init): Initialize fdtab, if appropriate. * cygheap.h (CYGHEAPSIZE): Include size of init_cygheap. (_cmalloc_entry): Include fdtab here. * dtable.h (dtable): Declare/define new methods. * dtable.cc (dtable::vfork_child_fixup): New method. (dtable::fixup_after_exec): Remove unneeded extra arguments. * dcrt0.cc (dll_crt0_1): Ditto. * environ.cc (getwinenv): Use case sensitive comparison. (winenv): Make a copy of environment cache to avoid realloc problems when duplicate environment variables exist in the environment. (From Egor Duda) * net.cc (cygwin_socket): Revert Apr 14 change. * include/sys/file.h: Protect against previous X_OK definition. * passwd.cc: Eliminate passwd_sem throughout. * security.cc: Ditto. * cygwin.din: Export New functions. * passwd.cc (read_etc_passwd): Make race safe. (getpwuid_r): New function. (getpwnam_r): New function.
* * grp.cc (getgroups): Avoid crash if passwd field if /etc/group isCorinna Vinschen2001-04-182-1/+7
| | | | empty.
* * path.h (path_conv::add_ext_from_sym): Declare.Christopher Faylor2001-04-173-4/+8
| | | | * path.cc (path_conv::add_ext_from_sym): Convert to pure inline method.
* * path.cc (windows_device_names): Add missing NULL element.Corinna Vinschen2001-04-172-1/+5
|
* * path.cc (windows_device_names): Move dsp to proper location.Christopher Faylor2001-04-172-1/+5
|
* Forgot the ChangeLog...Corinna Vinschen2001-04-171-0/+9
|
* * path.cc (path_conv::check): Set case_clash even if pcheck_caseCorinna Vinschen2001-04-172-10/+18
| | | | | | | | is set to PCHECK_ADJUST when a case clash is given for the last component in path. (symlink_info::case_check): Ditto. * syscalls.cc (_rename): Avoid overwriting an already existing file if a case clash is given even if pcheck_case is set to PCHECK_ADJUST.
* Add missing ChangeLog entry.Corinna Vinschen2001-04-171-0/+4
|
* Turn NEWVFORK off.Christopher Faylor2001-04-171-1/+1
|
* * path.h (cwdstuff): Move class.Christopher Faylor2001-04-178-70/+48
| | | | | | | | | | | | | | * cygheap.h (cwdstuff): To here. (init_cygheap): Add cwd field. * child_info.h (cygheap_exec_info): Eliminate cwd stuff. (child_info_spawn): Ditto. * dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call. Convert cygcwd reference to cygheap->cwd. * path.cc: Ditto, throughout. (cwdstuff::copy): Eliminate. (cwdstuff::fixup_after_exec): Ditto. * spawn.cc (spawn_guts): Eliminate call to cygcwd.copy. * fhandler.h (FH_OSS_DSP): Move into "fast" device category.
* * mmap.cc: Move fh_paging_file from some functions to beCorinna Vinschen2001-04-162-40/+72
| | | | | | | | | | | | | | a global static variable. (class mmap_record): Add `devtype_' member to remember the device type of the file. Add declaration for methods `get_device', `alloc_fh' and `free_fh'. (mmap_record::mmap_record): Initialize `devtype_' correctly. (mmap_record::alloc_fh): New method. (mmap_record::free_fh): Ditto. (munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh methods to create a correct fhandler. (msync): Ditto. (fixup_mmaps_after_fork): Ditto.
* * grp.cc (getgroups): If `allow_ntsec' is set, use the process tokenCorinna Vinschen2001-04-162-21/+59
| | | | information to evaluate the groups list.
* * features.h: Remove this file as it is now being supplied by newlib.Christopher Faylor2001-04-162-1/+4
|
* * autoload.cc: Add winmm functions needed by fhandler_dsp.cc.Christopher Faylor2001-04-168-11/+1979
| | | | | | | | | * fhandler_dsp.cc: New file. Implements OSS like /dev/dsp. * include/sys/soundcard.h: New file. User land includes for OSS /dev/dsp. * fhandler.h: Add new class fhandler_dev_dsp and a FH_OSS_DSP definition. * dtable.cc (dtable::build_fhandler): Allow creation of the /dev/dsp device. * path.cc (windows_device_names): Add /dev/dsp into list of device names. * Makefile.in (DLL_OFILES): Add fhandler_dsp.o.
* * uname.c (uname): Default n in in86 to 6 if Windows returns > 6.Christopher Faylor2001-04-152-1/+7
|
* * path.cc (add_ext_from_sym): Redefine to call `add_ext_from_sym_'.Corinna Vinschen2001-04-152-4/+18
| | | | (add_ext_from_sym_): New inline function.
* * config.h.in: Turn on VFORK by default.Christopher Faylor2001-04-142-1/+5
|
* * net.cc (cygwin_socket): Set SO_LINGER to small value so closed UNIX domainChristopher Faylor2001-04-143-3/+24
| | | | | | sockets will not stay around. * select.cc (socket_cleanup): Set SO_LINGER to small value so closed dummy sockets do not stay around. Use correct value for second argument to shutdown.
* Sat Apr 14 17:04:00 2001 Robert Collins <rbtcollins@hotmail.com>Robert Collins2001-04-143-3/+15
| | | | | | | * thread.h (MTinterface): Add threadcount. * thread.cc (MTinterface::Init): Set threadcount to 1. (__pthread_create): Increment threadcount. (__pthread_exit): Decrement threadcount and call exit() from the last thread.
* Fix ChangeLog format.Christopher Faylor2001-04-131-1/+1
|
* * fork.cc (fork_child): Call the __pthread_atforkchild function.Christopher Faylor2001-04-137-4/+163
| | | | | | | | | | | | (fork_parent): Call the __pthread_atforkparent function. * cygwin.din: Export pthread_atfork. * thread.h (callback): New class. (MTinterface): Use it. * thread.cc (__pthread_atforkprepare): New function. (__pthread_atforkparent): New function. (__pthread_atforkchild): New function. (__pthread_atfork): New function. * pthread.cc (pthread_atfork): New function.
* * path.cc (add_ext_from_sym): New define evaluating `known'suffix'.Corinna Vinschen2001-04-132-19/+15
| | | | (path_conv::check): Use add_ext_from_sym throughout.
* * dir.cc (mkdir): Check for case clash.Corinna Vinschen2001-04-128-45/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | * environ.cc: Add extern declaration for `pcheck_case'. (check_case_init): New function. (struct parse_thing): Add "check_case" option. * errno.cc (_sys_nerrlist): Add text for ECASECLASH. (strerror): Add case branch for ECASECLASH. * fhandler.cc (fhandler_disk_file::open): Check for case clash. * path.cc: Add global variable `pcheck_case'. (struct symlink_info): Add member `case_clash' and method `case_check'. (path_prefix_p_): Call `pathnmatch' instead of `strncasematch'. (pathnmatch): New funtion. (pathmatch): Ditto. (path_conv::check): Add handling for case checking. (symlink): Check for case clash. (symlink_info::check): Add parameter for case checking. Handle case checking. (symlink_info::case_check): New method. (chdir): Don't use unconverted path if pcheck_case==PCHECK_STRICT. * path.h: Add extern declarations for `pathmatch' and `pathnmatch'. (enum case_checking): New enumeration type describing the case checking behaviour of path conversion routines. (class path_conv): Add member `case_clash'. * syscalls.cc (_link): Check for case clash.
* * syscalls.cc (mkfifo): New function stub.Christopher Faylor2001-04-122-0/+11
|
* * configure.in: Remove PTH_ALLOW.Christopher Faylor2001-04-122-73/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions. Add new pthread exports. * pthread.cc: New wrapper functions for the above new exports. * sched.cc (valid_sched_parameters): New function. (sched_setparam): Use it. (sched_set_thread_priority): New function. Used by pthread_sched*. * thread.cc (pthread_key_destructor::InsertAfter): New function. (pthread_key_destructor::UnlinkNext): New function. (pthread_key_destructor::Next): New function. (pthread_key_destructor_list::Insert): New function. (pthread_key_destructor_list::Remove): New function. (pthread_key_destructor_list::Pop): New function. (pthread_key_destructor::pthread_key_destructor): New function. (pthread_key_destructor_list::IterateNull): New function. (MTinterface::Init): Initialise new member. (pthread::pthread): Initialise new members. (pthread::create): Copy new attributes. Set the new thread priority. (pthread_attr::pthread_attr): Initialise new members. (pthread_key::pthread_key): Setup destructor function. (pthread_key::~pthread_key): Remove destructor function. (pthread_mutexattr::pthread_mutexattr): New function. (pthread_mutexattr::~pthread_mutexattr): New function. (__pthread_once): New function. (__pthread_cleanup): New function. (__pthread_cancel): New function. (__pthread_setcancelstate): New function. (__pthread_setcanceltype): New function. (__pthread_testcancel): New function. (__pthread_attr_getinheritsched): New function. (__pthread_attr_getschedparam): New function. (__pthread_attr_getschedpolicy): New function. (__pthread_attr_getscope): New function. (__pthread_attr_setinheritsched): New function. (__pthread_attr_setschedparam): New function. (__pthread_attr_setschedpolicy): New function. (__pthread_attr_setscope): New function. (__pthread_exit): Call any key destructors on thread exit. (__pthread_join): Use the embedded attr values. (__pthread_detach): Use the embedded attr values. (__pthread_getconcurrency): New function. (__pthread_getschedparam): New function. (__pthread_key_create): Pass the destructor on object creation. (__pthread_key_delete): Correct incorrect prototype. (__pthread_setconcurrency): New function. (__pthread_setschedparam): New function. (__pthread_cond_timedwait): Support static mutex initialisers. (__pthread_cond_wait): Ditto. (__pthread_mutex_getprioceiling): New function. (__pthread_mutex_lock): Support static mutex initialisers. (__pthread_mutex_trylock): Ditto. (__pthread_mutex_unlock): Ditto. (__pthread_mutex_destroy): Ditto. (__pthread_mutex_setprioceiling): New function. (__pthread_mutexattr_getprotocol): New function. (__pthread_mutexattr_getpshared): New function. (__pthread_mutexattr_gettype): New function. (__pthread_mutexattr_init): New function. (__pthread_mutexattr_destroy): New function. (__pthread_mutexattr_setprotocol): New function. (__pthread_mutexattr_setprioceiling): New function. (__pthread_mutexattr_getprioceiling): New function. (__pthread_mutexattr_setpshared): New function. (__pthread_mutexattr_settype): New function. Remove stubs for non MT_SAFE compilation. * thread.h: Remove duplicate #defines. Add prototypes for new functions in thread.cc. (pthread_key_destructor): New class. (pthread_key_destructor_list): New class. (pthread_attr): Add new members. (pthread): Remove members that are duplicated in the pthread_attr class. (pthread_mutex_attr): Add new members. (pthread_once): New class. * include/pthread.h: Add prototypes for new functions exported from cygwin1.dll. Remove typedefs. * include/sched.h: Add prototypes for new functions in sched.cc. * include/cygwin/types.h: Add typedefs from pthread.h
* * configure.in: Remove PTH_ALLOW.Robert Collins2001-04-129-487/+1543
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions. Add new pthread exports. * pthread.cc: New wrapper functions for the above new exports. * sched.cc (valid_sched_parameters): New function. (sched_setparam): Use it. (sched_set_thread_priority): New function. Used by pthread_sched*. * thread.cc (pthread_key_destructor::InsertAfter): New function. (pthread_key_destructor::UnlinkNext): New function. (pthread_key_destructor::Next): New function. (pthread_key_destructor_list::Insert): New function. (pthread_key_destructor_list::Remove): New function. (pthread_key_destructor_list::Pop): New function. (pthread_key_destructor::pthread_key_destructor): New function. (pthread_key_destructor_list::IterateNull): New function. (MTinterface::Init): Initialise new member. (pthread::pthread): Initialise new members. (pthread::create): Copy new attributes. Set the new thread priority. (pthread_attr::pthread_attr): Initialise new members. (pthread_key::pthread_key): Setup destructor function. (pthread_key::~pthread_key): Remove destructor function. (pthread_mutexattr::pthread_mutexattr): New function. (pthread_mutexattr::~pthread_mutexattr): New function. (__pthread_once): New function. (__pthread_cleanup): New function. (__pthread_cancel): New function. (__pthread_setcancelstate): New function. (__pthread_setcanceltype): New function. (__pthread_testcancel): New function. (__pthread_attr_getinheritsched): New function. (__pthread_attr_getschedparam): New function. (__pthread_attr_getschedpolicy): New function. (__pthread_attr_getscope): New function. (__pthread_attr_setinheritsched): New function. (__pthread_attr_setschedparam): New function. (__pthread_attr_setschedpolicy): New function. (__pthread_attr_setscope): New function. (__pthread_exit): Call any key destructors on thread exit. (__pthread_join): Use the embedded attr values. (__pthread_detach): Use the embedded attr values. (__pthread_getconcurrency): New function. (__pthread_getschedparam): New function. (__pthread_key_create): Pass the destructor on object creation. (__pthread_key_delete): Correct incorrect prototype. (__pthread_setconcurrency): New function. (__pthread_setschedparam): New function. (__pthread_cond_timedwait): Support static mutex initialisers. (__pthread_cond_wait): Ditto. (__pthread_mutex_getprioceiling): New function. (__pthread_mutex_lock): Support static mutex initialisers. (__pthread_mutex_trylock): Ditto. (__pthread_mutex_unlock): Ditto. (__pthread_mutex_destroy): Ditto. (__pthread_mutex_setprioceiling): New function. (__pthread_mutexattr_getprotocol): New function. (__pthread_mutexattr_getpshared): New function. (__pthread_mutexattr_gettype): New function. (__pthread_mutexattr_init): New function. (__pthread_mutexattr_destroy): New function. (__pthread_mutexattr_setprotocol): New function. (__pthread_mutexattr_setprioceiling): New function. (__pthread_mutexattr_getprioceiling): New function. (__pthread_mutexattr_setpshared): New function. (__pthread_mutexattr_settype): New function. Remove stubs for non MT_SAFE compilation. * thread.h: Remove duplicate #defines. Add prototypes for new functions in thread.cc. (pthread_key_destructor): New class. (pthread_key_destructor_list): New class. (pthread_attr): Add new members. (pthread): Remove members that are duplicated in the pthread_attr class. (pthread_mutex_attr): Add new members. (pthread_once): New class. * include/pthread.h: Add prototypes for new functions exported from cygwin1.dll. Remove typedefs. * include/sched.h: Add prototypes for new functions in sched.cc. * include/cygwin/types.h: Add typedefs from pthread.h
* * path.cc (struct symlink_info): Add extn and ext_tacked_on fields.Christopher Faylor2001-04-112-7/+25
| | | | | | (path_conv::check): Only tack on extension if a known one didn't already exist. (suffix_scan::has): Return pointer to known extension. (symlink_info::check): Record location of extension, if any.
* * fhandler.h (class fhandler_socket): Add members and methods toEgor Duda2001-04-094-9/+200
| | | | | | | | | | | | | | | | | support secure connections on AF_UNIX sockets. * fhandler_socket.cc (fhandler_socket::set_connect_secret): New method. (fhandler_socket::get_connect_secret): Ditto. (fhandler_socket::create_secret_event): Ditto. (fhandler_socket::close_secret_event): Ditto. (fhandler_socket::check_peer_secret_event): Ditto. (fhandler_socket::fixup_after_fork): Duplicate secret event to child. (fhandler_socket::dup): Copy address family. (fhandler_socket::close): Close secret event. * net.cc (get_inet_addr): Read secret cookie. (cygwin_connect): Check if peer knows secret cookie value. (cygwin_accept): Ditto. Copy address family to newly created socket. (cygwin_bind): Generate and write secret cookie. (wsock_init): Initialize random number generator.
* Work around new g++ problem.Christopher Faylor2001-04-091-0/+1
|
* remove extra whitespace.Christopher Faylor2001-04-091-1/+1
|
* * Makefile.in: Put -lgcc last in list of libraries, since stdc++ library needsChristopher Faylor2001-04-098-444/+521
| | | | | | | | | | | | | | it. * cygwin.din: Remove obsolete "__empty" export. * exceptions.cc (call_signal_handler_now): Force inclusion of function even when -finline-functions is specified. * sigproc.h: Remove obsolete call_signal_handler declaration. * fhandler_console.cc (cp_get_internal): New function. (cp_convert): New function. (con_to_str): New function. (str_to_con): New function. (fhandler_console::read): Replace OemToCharBuff with con_to_str. (fhandler_console::write_normal): Replace CharToOemBuff with str_to_con.
* * syscalls.cc (stat_worker): Fix conditional which still allowedCorinna Vinschen2001-04-052-2/+7
| | | | successful stat'ing of non-existant files.
* * child_info.h: Bump magic number for fork/exec/spawn.Christopher Faylor2001-04-042-1/+5
|
* * errno.cc (errmap): Map ERROR_FILE_INVALID to ENXIO.Corinna Vinschen2001-04-032-0/+5
|
* * cygrun.c (main): Fix compiler warning.Christopher Faylor2001-04-038-28/+57
| | | | | | | | | | | * gmon.c (_mcleanup): Ditto. * profil.c (profile_off): Ditto. * net.cc (find_winsock_errno): New function. (__set_winsock_errno): Use find_winsock_errno. (cygwin_setsockopt): Detect SO_ERROR for debugging. (cygwin_getsockopt): Ditto. Translate error when getsockopt returns SO_ERROR. * winsup.h: regparmize __set_winsock_errno. * include/sys/strace.h: Document that strace functions can't use regparm.
* * fhandler.cc (fhandler_disk_file::open): Avoid checking a magicCorinna Vinschen2001-04-022-0/+6
| | | | number of a directory.
* * shared_info.h (mount_info): Remove mnt_ elements.Christopher Faylor2001-04-024-22/+25
| | | | | * thread.h (struct _winsup_t): Add mnt_ elements. * path.cc (fillout_mntent): Use mnt_ elements from reent_winsup ().
* * exceptions.cc (sigframe::call_signal_handler): Return value ofChristopher Faylor2001-04-024-14/+20
| | | | | | call_signal_handler_now. * sigproc.h (sigframe): Use constructor. * syscalls.cc (_read): Correct errno test prior to calling signal handler.