| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* cygwin.din: Export fts_children, fts_close, fts_get_clientptr,
fts_get_stream, fts_open, fts_read, fts_set, fts_set_clientptr,
ftw, nftw.
* fts.c: New file, imported from FreeBSD.
* ftw.c: Ditto.
* nftw.c: Ditto.
* include/fts.h: Ditto.
* include/ftw.h: Ditto.
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
|
|
|
| |
linux.
* include/cygwin/types.h: Include endian.h.
* include/sys/dirent.h: Define DT_* types and conversion macros.
* pinfo.cc (pinfo::init): Remove special handling for PID_ALLPIDS and execed
code, even though it probably still isn't quite right.
|
|
|
|
|
|
|
|
|
| |
* fhandler.h (class fhandler_serial): Declare switch_modem_lines.
* fhandler_serial.cc (fhandler_serial::switch_modem_lines): New
static function to set or clear DTR and/or RTS.
(fhandler_serial::ioctl): Use switch_modem_lines for TIOCMSET
and new TIOCMBIS and TIOCMBIC.
* include/cygwin/version.h: Bump API minor number.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_base::pwrite): Ditto.
(fhandler_disk_file::pread): Ditto.
(fhandler_disk_file::pwrite): Ditto.
* fhandler.cc (fhandler_base::pread): Define new function.
(fhandler_base::pwrite): Ditto.
* fhandler_disk_file.cc (fhandler_base::pread): Ditto.
(fhandler_base::pwrite): Ditto.
* syscalls.cc (pread): Define new function.
(pwrite): Ditto.
* cygwin.din: Export pread, pwrite.
* include/sys/ioctl.h: Guard some _IO* declarations to avoid conflict with
socket.h.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
(getdelim): Export.
* include/sys/stdio.h (getline): Replace macro with function prototype.
(getdelim): Likewise.
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
|
|
| |
(__getdelim): Export.
* include/sys/stdio.h (getline): Define as __getline.
(getdelim): Define as __getdelim.
* include/cygwin/version.h: Bump API minor number.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and globextend.
(glob1): Add `limit' parameter.
(glob2): Ditto.
(glob3): Ditto.
(globextend): Ditto. Implement GLOB_LIMIT handling.
* include/glob.h (GLOB_LIMIT): New define.
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
|
|
|
|
| |
(inet_ntop): Export.
* net.cc (cygwin_inet_pton): Implement inet_pton for AF_INET for now.
(cygwin_inet_ntop): Implement inet_ntop for AF_INET for now.
* include/arpa/inet.h (inet_pton): Declare.
(inet_ntop): Declare.
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert PTHREAD_MUTEX_INITIALIZER to PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
since that is actually closer to what linux does.
* thread.h (cw_cancel_action): New enum.
(cancelable_wait): Use cw_cancel_action as third argument.
* thread.cc (cancelable_wait): Ditto. Don't wait for cancel if cancel_action
== cw_no_cancel.
(pthread::create): Don't wait for cancel event since that is racy.
(pthread_mutex::pthread_mutex): Set default to PTHREAD_MUTEX_ERRORCHECK.
(pthread_mutexattr::pthread_mutexattr): Ditto.
(pthread_mutex::_lock): Tell cancelable_wait not to wait for cancellation
event.
(semaphore::_timedwait): Accommodate change in cancelable_wait args.
(pthread::join): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(imaxdiv): Export.
(llabs): Export.
(lldiv): Export.
(strtoimax): Export.
(strtoumax): Export.
* include/inttypes.h (imaxabs): Activate declaration.
(imaxdiv): Ditto.
(strtoimax): Ditto.
(strtoumax): Ditto.
* include/cygwin/version.h: Bump API minor.
|
|
|
|
| |
PTHREAD_NORMAL_MUTEX_INITIALIZER_NP to be closer to linux default.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
accomodate SUSv3.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* external.cc (cygwin_internal): Implement CW_DEBUG_SELF.
* init.cc (dll_entry): Minor rearrangement of code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dir.cc (mkdir): Check path for writability.
(rmdir): Ditto. Remove check for special directories.
* path.cc (path_conv::check): Set PATH_RO for virtual devices. Set error if
read-only and asked for writability.
* path.h (pathconv_arg): Add PC_WRITABLE.
(path_types): Add PATH_RO.
(path_conv::isro): Add (currently unused) check for read-only filesystem.
Return "ENOSHARE" when we know a share doesn't exist.
* include/sys/mount.h: Add MOUNT_RO flag.
* autoload.cc (WNetGetResourceInformationA): Import.
* fhandler_netdrive.cc (fhandler_netdrive::exists): Detect actual existence of
remote system rather than always assuming that it exists.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* devices.h (FH_KMSG): Define new device.
* devices.in: Add "/dev/kmsg" entry.
* devices.cc: Regenerate.
* dtable.cc (build_fh_pc): Handle case FH_KMSG.
* fhandler.h (class fhandler_mailslot): New class.
(class select_stuff): Add device_specific_mailslot pointer.
* fhandler_mailslot.cc: New file.
* select.cc (peek_mailslot): New function.
(verify_mailslot): Ditto.
(struct mailslotinf): New stuct to handle select on mailslots.
(thread_mailslot): New function.
(start_thread_mailslot): Ditto.
(mailslot_cleanup): Ditto.
(fhandler_mailslot::select_read): New method.
* syslog.cc (klog_guard): New muto.
(dev_kmsg): Local mailslot for kernel message device.
(vklog): New function.
(klog): Ditto.
* winsup.h (vklog): Declare.
(klog): Ditto.
* include/sys/syslog.h: Define _PATH_KLOG.
|
|
|
|
|
|
|
| |
(dll_crt0_0): Use get_cygwin_startup_info to retrieve cygwin-specific startup
pointer.
* external.cc (cygwin_internal): Implement CW_ARGV and CW_ENVP.
* include/sys/cygwin.h: Implement CW_ARGV and CW_ENVP.
|
| |
|
| |
|
|
|
|
|
|
| |
* select.cc (pselect): New function.
* include/cygwin/version.h: Bump API minor number.
* include/sys/select.h: Include signal.h. Declare pselect.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fhandler.h (fhandler_fifo::owner): Eliminate.
* fhandler_disk_file.cc (fhandler_base::fstat_fs): Handle on-disk devices
better.
(fhandler_base::fstat_helper): Ditto.
* fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Don't initialize obsolete
"owner".
(fhandler_fifo::open_not_mine): Add some debugging. Duplicate correct handle
when we own it.
(fhandler_fifo::open): Set flags from input, not from first pipe. Flag that
fork fixup is needed.
(fhandler_fifo::dup): Set errno correctly when DuplicateHandle fails.
* pinfo.cc (commune_send): Add debugging for fifo.
* cygwin/version.h: Bump API minor version to 127 to reflect exporting of
sigrelese.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(try_connect_guard): New static variable.
(syslogd_inited): Ditto.
(syslogd_sock): Ditto.
(try_connect_syslogd): New function to connect and write syslog to
local syslogd.
(vsyslog): Log to stderr if LOG_PERROR flag has been given to openlog.
Try logging to syslogd. Use Event Log resp. log file as fallback.
(closelog): Close socket to syslogd.
* include/sys/syslog.h (_PATH_LOG): Define.
(INTERNAL_NOPRI): Define if SYSLOG_NAMES is defined.
(INTERNAL_MARK): Ditto.
(struct _code): Ditto.
(prioritynames): Ditto.
(facilitynames): Ditto.
|
| |
|
|
|
|
| |
(PATH_MAX): POSIX allows PATH_MAX to include trailing NUL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
since waiting for anything else is racy.
* timer.cc (timer_tracker::hcancel): Rename from cancel.
(timer_tracker::cancel): New method.
(timer_tracker::th): Remove.
(timer_tracker::~timer_tracker): Call cancel method.
(timer_tracker::timer_tracker): Ditto.
(timer_tracker::timer_tracker): Always, clear cancel, even though it is
probably not strictly necessary for ttstart.
(timer_thread): Accommodate cancel -> hcancel rename.
(timer_tracker::settime): Ditto.
(timer_tracker::gettime): Ditto.
(timer_delete): Ditto.
* cygwin.din: Export _ctype_.
* include/ctype.h: Mark that _ctype_ is imported.
|
|
|
|
| |
* include/search.h: Make declarations consistent with newlib.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(wininfo::itv): Ditto.
(wininfo::start_time): Ditto.
(wininfo::window_started): Ditto.
(wininfo::getitimer): Ditto.
(wininfo::setitimer): Ditto.
(wininfo::wininfo): Ditto.
(wininfo::lock): New method.
(wininfo::release): Ditto.
* window.cc: Use new lock/acquire wininfo methods throughout.
(wininfo::wininfo): Delete
(wininfo::getitimer): Ditto.
(wininfo::setitimer): Ditto.
(getitimer): Ditto.
(setitimer): Ditto.
(ualarm): Ditto.
(alarm): Ditto.
(wininfo::lock): Define new function.
(wininfo::release): Ditto.
(wininfo::process): Delete WM_TIMER handling.
* timer.cc (struct timetracker): Delete it, flags. Add it_interval,
interval_us, sleepto_us, running, init_muto(), syncthread, and gettime().
(ttstart): Make NO_COPY.
(lock_timer_tracker): New class.
(timer_tracker::timer_tracker): Distinguish ttstart case.
(timer_tracker::~timer_tracker): New destructor. Clean out events, and reset
magic.
(timer_tracker::init_muto): New method.
(to_us): Round up as per POSIX.
(timer_thread): Reorganize to match timer_tracker::settime and
timer_tracker::gettime. Call sig_send without wait. Call auto_release.
(timer_tracker::settime): Reorganize logic to avoid race. Call gettime to
recover old value.
(timer_tracker::gettime): New method.
(timer_create): Properly set errno on invalid timerid. Use new
lock_timer_tracker method.
(timer_delete): Ditto. Simplify code slightly.
(timer_gettime): New function.
(fixup_timers_after_fork): Reinit ttstart.
(getitimer): New implementation.
(setitimer): Ditto.
(ualarm): Ditto.
(alarm): Ditto.
* cygwin.din: Export timer_gettime.
* winsup.h: Remove has has_visible_window_station declaration.
* Makefile.in (DLL_OFILES): Add lsearch.o.
* cygthread.h (cygthread::notify_detached): New element.
(cygthread::cygthread): Take optional fourth argument signifying event to
signal on thread completion.
* cygthread.cc (cygthread::stub): Signal notify_detached event, if it exists.
(cygthread::cygthread): Initialize notify_detached from fourth argument.
(cygthread::detach): Wait for notify_detached field is present.
* lsearch.cc: New file.
* search.h: Ditto.
* include/cygwin/version.h: Bump API minor number to 126.
* cygwin.din: Export lsearch, lfind.
|
|
|
|
| |
(isblank): New macro.
|
|
|
|
|
| |
reflect new additions to the DLL and to remove change obsoleted by the previous
checkin.
|
|
|
|
|
|
| |
* ctype.cc: Ditto.
* Makefile.in: Add ctype.o to DLL_OFILES.
* cygwin.din: Remove _ctype_ptr (for now?).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cygheap.h (cygheap_types): Add new enum: HEAP_1_HOOK.
(hook_chain): New struct.
(init_cygheap::hooks): Define new element.
* cygheap.cc (cygheap_fixup_in_child): Zero hook chain on exec.
* dcrt0.cc (dll_crt0_1): Call ld_preload just before calling main function.
* external.cc (cygwin_internal): Implement CW_HOOK.
* fork.cc (fork_child): Call fixup_hooks_after_fork.
* init.cc (cygwin_hmodule): Reinstate after a long absence.
* include/sys/cygwin.h: Define CW_HOOK.
* hookapi.cc: New file.
* select.cc (start_thread_socket): Add debugging output.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): gcc 4.x accommodation.
* fhandler_socket.cc (fhandler_socket::connect): Make sure that err is
initialized.
|
|
|
|
| |
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
|
|
| |
(fhandler_disk_file::mmap): Ditto. Clean conditional for readability.
* include/sys/mman.h: Add MAP_AUTOGROW flag.
* include/cygwin/version.h: Bump API minor version.
|