| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(MT_ST_ASYNC_WRITES): Remove "Not supported" comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fhandler.cc (fhandler_base::open): Make tape I/O asynchronous.
* fhandler.h (class fhandler_dev_tape): Add mt_evt member.
* fhandler_tape.cc (mtinfo_drive::initialize): Initialize async_writes.
(mtinfo_drive::close): Handle async writes.
(mtinfo_drive::read): Add mt_evt parameter. Use overlapped I/O.
(mtinfo_drive::async_wait): New function.
(mtinfo_drive::write): Add mt_evt parameter. Use overlapped I/O.
Handle async writes.
(mtinfo_drive::_set_pos): Handle async writes.
(mtinfo_drive::set_partition): Ditto.
(mtinfo_drive::prepare): Ditto.
(mtinfo_drive::get_status): Drop useless "else". Handle async_writes
flag.
(mtinfo_drive::set_options): Handle async_writes flags.
(fhandler_dev_tape::close): Close mt_evt handle.
(fhandler_dev_tape::raw_read): Create mt_evt handle and use in call
to mtinfo_drive::read.
(fhandler_dev_tape::raw_write): Create mt_evt handle and use in call
to mtinfo_drive::write.
* mtinfo.h (MTINFO_VERSION): Bump.
(enum dirty_state): Add async_write_pending state.
(class mtinfo_drive): Add OVERLAPPED struct "ov". Add async_writes
flag.
(mtinfo_drive::async_wait): Add declaration.
(mtinfo_drive::read): Add mt_evt parameter.
(mtinfo_drive::write): Ditto.
* registry.cc (load_registry_hive): Call enable_restore_privilege
instead of set_process_privilege.
|
|
|
|
|
| |
release to 3.
* Makefile.in (VERSION): Ditto.
|
|
|
|
| |
release to 3.
|
|
|
|
| |
* configure: Regenerate.
|
|
|
|
|
|
|
| |
parameter. Use in call to SetTapePosition.
(mtinfo_drive::set_pos): Accomodate _set_pos calls to above change.
(mtinfo_drive::set_partition): Ditto.
* mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
|
|
|
|
| |
Thanks to Filip Navara <xnavara@volny.cz>.
|
|
|
|
|
|
|
|
| |
* include/objbase.h (STGFMT): Declare enum.
(STGOPTIONS): Declare structure.
(StgCreateStorageEx, StgOpenStorageEx): Declare.
(STGOPTIONS_VERSION): Define.
* lib/ole32.def (StgCreateStorageEx, StgOpenStorageEx): Add stubs.
|
| |
|
|
|
|
|
| |
* include/winuser.h (MONITORINFOEX[AW]): Change to be derived from
MONITORINFO when compiling as C++.
|
| |
|
|
|
|
|
| |
* README.w32api: List separate copyright conditions for some headers.
* include/(winsock2.h, wsipx.h): Minor change to copyright header.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dir.cc (mkdir): Change set_file_attribute call to indicate that
NT security isn't used.
* fhandler.cc (fhandler_base::open_9x): New method, created from
fhandler_base::open.
(fhandler_base::open): Rearrange to use NtCreateFile instead of
CreateFile.
* fhandler.h (enum query_state): Redefine query_null_access to
query_stat_control. query_null_access isn't allowed in NtCreateFile.
(fhandler_base::open_9x): Declare.
* fhandler_disk_file.cc (fhandler_base::fstat_fs): Use
query_stat_control first, query_read_control if that fails.
(fhandler_disk_file::fchmod): Call enable_restore_privilege before
trying to open for query_write_control. Don't fall back to
opening for query_read_control.
(fhandler_disk_file::fchown): Ditto.
(fhandler_disk_file::facl): Only request restore privilege and query
access necessary for given cmd.
* fhandler_raw.cc (fhandler_dev_raw::open): Call fhandler_base::open
instead of opening device here.
* ntdll.h (NtCreateFile): Declare.
* path.cc (symlink_worker): Change set_file_attribute call to indicate
that NT security isn't used.
* sec_acl.cc (getacl): Fix bracketing.
* sec_helper.cc (enable_restore_privilege): New function.
* security.cc (str2buf2uni_cat): New function.
(write_sd): Don't request restore permission here.
* security.h (set_process_privileges): Drop stale declaration.
(str2buf2uni): Declare.
(str2buf2uni_cat): Declare.
(enable_restore_privilege): Declare.
* syscalls.cc (fchown32): Return immediate success on 9x.
|
|
|
|
|
|
|
| |
* Makefile.tpl (configure-[+module+], configure-gcc,
configure-stage1-gcc, configure-stage2-gcc, configure-stage3-gcc):
Set and export LDFLAGS.
* Makefile.in: Regenerate.
|
| |
|
| |
|
|
|
|
|
| |
(wsock_init): Avoid unneeded winsock_active tests.
* winsup.h (winsock_active): Delete.
|
|
|
|
|
|
| |
in query_read mode if query_write fails.
* fhandler_disk_file.cc (fhandler_disk_file::fchown): Ditto.
* fhandler_disk_file.cc (fhandler_disk_file::facl): Ditto.
|
|
|
|
| |
* include/wingdi.h (RGB): Correct macro.
|
| |
|
|
|
|
|
|
|
| |
* sec_acl.cc (acl_worker): delete allocated fhandler.
* syscalls.cc (chown_worker): Ditto.
(chmod): Ditto.
(stat_worker): Use get_namehash instead of hash_path_name.
|
|
|
|
| |
* security.cc (write_sd): Ditto. Fix error handling.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expression.
(fhandler_base::facl): New method.
* fhandler.h: Declare facl method in fhandler_base,
fhandler_disk_file and fhandler_virtual.
* fhandler_disk_file.cc (fhandler_disk_file::facl): New method.
* fhandler_virtual.cc (fhandler_virtual::facl): New method.
* sec_acl.cc: Remove forward declaration for aclsort32 and acl32.
(setacl): Remove static. Add and use handle parameter.
(getacl): Ditto.
(acl_worker): Reorganize to call fhandler's facl method eventually.
(facl32): Ditto.
* security.cc (get_nt_object_security): Remove static.
* security.h: Add extern declarations for get_nt_object_security,
aclsort32, acl32, getacl and setacl.
Apply missing syscalls.cc patch and ChangeLog of previous check in.
* syscalls.cc (chown_worker): Reorganize to call fhandler's fchown
method eventually.
(fchown): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
query_state.
(fhandler_base::fchown): New method.
* fhandler.h: Declare fchown method in fhandler_base,
fhandler_disk_file and fhandler_virtual.
(enum query_state): Add query_write_control.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Set query_state
to query_write_control. Only remove FILE_ATTRIBUTE_READONLY if not
setting security descriptor.
(fhandler_disk_file::fchown): New method.
* fhandler_virtual.cc (fhandler_virtual::fchown): New method.
* sec_acl.cc (setacl): Call write_sd with additional handle attribute.
* security.cc (write_sd): Take handle argument. Only request owner
if getting SE_RESTORE_NAME privilege failed. Only open file if
NtSetSecurityObject failed or handle is NULL.
(set_nt_attribute): Call write_sd with additional handle attribute.
* security.h (write_sd): Declare with additional handle argument.
|
|
|
|
| |
* include/ddk/winddk.h (RtlEqualLuid): Correct macro.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only request
READ_CONTROL rights when opening the file.
* ntdll.h (NtSetSecurityObject): Add declaration.
* security.cc (write_sd): Call NtSetSecurityObject instead of
BackupWrite.
(get_nt_object_security): Don't free security descriptor here.
* syscalls.cc (ttyname): Use buffer of length TTY_NAME_MAX + 1.
* sysconf.cc (sysconf): Handle _SC_TTY_NAME_MAX request.
* include/limits.h: Define TTY_NAME_MAX and _POSIX_TTY_NAME_MAX.
|
|
|
|
|
|
| |
* syscalls.cc (ttyname_r): New function.
(ttyname): Move functionality to ttyname_r. Call it from here.
* include/cygwin/version.h: Bump API minor number.
|
|
|
|
|
|
|
|
|
| |
* path.h (path_conv::set_symlink): Add argument.
(path_conv::get_symlink_length): New method.
(path_conv::symlink_length): New member.
* path.cc (path_conv::check): Pass symlen to set_symlink.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): For symlinks
set st_size from get_symlink_length.
|
| |
|
|
|
|
| |
if handle is NULL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument.
* fhandler.cc (fhandler_base::fchmod): New method.
* fhandler.h: Declare fchmod method in fhandler_base,
fhandler_disk_file and fhandler_virtual.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): New method.
(fhandler_base::open_fs): Call set_file_attribute with additional
handle argument.
* fhandler_virtual.cc (fhandler_virtual::fchmod): New method.
* path.cc (symlink_worker): Call set_file_attribute with additional
handle argument.
* security.cc (get_nt_object_security): New function.
(get_nt_object_attribute): Call get_nt_object_security.
(set_nt_attribute): Add handle argument. Call get_nt_object_security
first, read_sd only if that fails.
(set_file_attribute): Add handle argument.
* security.h (set_file_attribute): Declare with additional handle
argument.
* syscalls.cc (stat_suffixes): Move to beginning of file.
(chown_worker): Call set_file_attribute with additional handle argument.
(chmod): Reorganize to call fhandler's fchmod method eventually.
(fchmod): Ditto.
|
| |
|
|
|
|
|
|
|
| |
* ntdll.h (STATUS_BUFFER_TOO_SMALL): Add definition.
(NtQuerySecurityObject): Add declaration.
* security.cc (get_nt_object_attribute): Always use
NtQuerySecurityObject to retrieve security descriptor.
|
|
|
|
|
|
| |
so that test passes also under high CPU load.
(forkplaytest): Ditto.
(abortplaytest): New function to test ioctl code SNDCTL_DSP_RESET.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
boolean argument so that playing can be stopped without playing
pending buffers.
(fhandler_dev_dsp::ioctl): Stop playback immediately for
SNDCTL_DSP_RESET. Do not reset audio parameters in this case.
Add support for ioctl SNDCTL_DSP_GETISPACE.
(fhandler_dev_dsp::Audio_out::emptyblocks): Now returns the number of
completely empty blocks.
(fhandler_dev_dsp::Audio_out::buf_info): p->fragments is now the number
of completely empty blocks. This conforms with the OSS specification.
(fhandler_dev_dsp::Audio_out::parsewav): Ignore wave headers that are
not aligned on four byte boundary.
(fhandler_dev_dsp::Audio_in::buf_info): New, needed for
SNDCTL_DSP_GETISPACE.
|
|
|
|
|
|
|
|
|
|
|
|
| |
accessor methods unambiguously.
* fhandler.h: Use IMPLEMENT_STATUS_FLAG throughout where possible.
* fhandler_termios.cc (fhandler_termios::tcinit): Call corrected
accessor for initialized status flag.
* mtinfo.h (class mtinfo_drive): Use IMPLEMENT_STATUS_FLAG throughout.
* path.cc (fs_info::update): Remove duplicate call to flags().
* path.h (struct fs_info): Use IMPLEMENT_STATUS_FLAG where possible.
(path_conv::is_auto_device): Fix spacing.
* tty.h (class tty_min): Use IMPLEMENT_STATUS_FLAG throughout.
|
| |
|
|
|
|
| |
behavior.
|
|
|
|
|
|
|
| |
rather than creating a suspended thread. Wait for "cancellation event" to
indicate that started thread has been properly initialized.
(pthread::thread_init_wrapper): Use set_tls_self_pointer() to set tid and
cygtls. Signal with cancel_event when done.
|
|
|
|
| |
* path.cc (path_conv::check): Fix "tail filling" logic.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
to SUSv3.
|
|
|
|
| |
standard and default entry of same type.
|
|
|
|
|
|
|
| |
* winsup.h (rootdir): Add second argument in declaration.
* path.cc (fs_info::update): Modify call to rootdir.
* syscalls.cc (check_posix_perm): Ditto.
(statfs): Ditto. Move syscall_printf near top.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tty_min, mtinfo and fs_info thoroughout.
* fhandler.h: Redefine all set_close_on_exec methods to take a bool
argument.
(enum conn_state): Rename from connect_state.
(class fhandler_base): Rename some status flags to align with
accessor method names. Drop encoded flag entirely. Unify status
accessor methods. Const'ify all read accessor methods.
(class fhandler_socket): Ditto.
(class fhandler_dev_raw): Ditto.
* fhandler_disk_file.cc (fhandler_base::fstat_fs): Use fs.fs_is_fat()
instead of evaluating FATness of file system here.
(fhandler_disk_file::opendir): Drop call to set_encoded().
(fhandler_disk_file::readdir): Use pc.isencoded() directly.
* mtinfo.h (class mtinfo_drive): Const'ify all read accessor methods.
* path.cc (fsinfo_cnt): Add.
(fs_info::update): Accomodate class changes. Evaluate file system
name specific flags right here. Add thread safety for reading and
writing global fsinfo array.
* path.h (enum path_types): Drop values for flags kept in fs already.
(struct fs_info): Move status informatin into private struct type
status_flags. Add accessor methods. Remove path and file system
name string arrays in favor of status bits.
(class path_conv): Use new fs_info status information where
appropriate.
(path_conf::fs_has_ea): Rename from fs_fast_ea.
(path_conf::fs_has_acls): New method.
(path_conf::root_dir): Remove.
(path_conf::volname): Remove.
* syscalls (statfs): Evaluate root dir locally.
* tty.h (class tty_min): Unify status accessor methods. Const'ify
all read accessor methods.
|
|
|
|
|
|
|
|
|
|
|
| |
(pthread::set_tls_self_pointer): New static function.
* thread.cc (MTinterface::fixup_after_fork): Change call to
pthread::init_mainthread.
(pthread::init_mainthread): Remove parameter forked. Simplify thread self
pointer handling.
(pthread::self): Set thread self pointer to null_pthread if thread has not been
initialized.
(pthread::set_tls_self_pointer): New static function.
|