(call-process ...) hangs in emacs
Corinna Vinschen
corinna-cygwin@cygwin.com
Wed Aug 27 08:42:00 GMT 2014
On Aug 26 18:12, Ken Brown wrote:
> On 8/26/2014 2:55 PM, Achim Gratz wrote:
> >Ken Brown writes:
> >>It looks like my idea is going to work, but it needs testing to make
> >>sure I've implemented it correctly. If anyone is willing to test it,
> >>you can download emacs-24.3.93-2 from my personal Cygwin repository:
> >>
> >> http://sanibeltranquility.com/cygwin/
> >>
> >>Instructions can be found at that URL.
> >
> >I've switched to this version today.
> >
> >I've noticed that two bugs are still present at least in the emacs-w32
> >version:
> >
> >1) When showing the Windows desktop with Win-D and then restoring it
> >(including Emacs) with Win-D again, the cursor becomes a hollow
> >rectangle that doesn't blink. To get the normal cursor behaviour back
> >you have to minimize and restore the Emacs window in the "normal" way.
>
> This one has nothing to do with emacs. I see the same thing in mintty, with
> just a shell prompt (bash in my case).
>
> >2) Files that have no POSIX permissions (filemode 0000) and where access
> >is granted via ACL only get always opened as "read-only" and you have to
> >C-x C-q them before saving. It appears that this is Cygwin specific
> >since on Linux the same version copes with that situation correctly
> >(however, the mask bits in the ACL get displayed in the group portion of
> >the file mode, which I've never seen happen on Cygwin, so this may be
> >something that Cygwin needs to do -- maybe that'd even solve the
> >problems that Perl has in the same situation).
>
> AFAICT, emacs decides whether the file is writable via the system call
> faccessat. (See the function 'check_writable' in src/fileio.c.) This is
> not Cygwin specific. So faccessat must be returning failure in the scenario
> you described. I don't know if that's a Cygwin bug or not.
faccessat/access/eaccess don't try to be intelligent by themselves.
Rather they just call a Windows function if the filesystem is mounted
with "acl" mount flags:
- Fetch file's security descriptor
- Create process impersonation token.
- Call NtAccessCheck
- If NtAccessCheck returns "not allowed", check for backup/restore
privileges via NtPrivilegeCheck.
In "noacl" mode or on filesystems not supporting ACLs, access uses the
st_mode flags from stat() to figure out the permissions.
The relevant parts of the implementation are the check_file_access and
subsequently called check_access functions in security.cc.
If you see a bug there, please let me know.
> BTW, emacs on Cygwin doesn't directly check ACLs, because the relevant
> configure test fails.
Works for vim. Does the Emacs configure test only check for POSIX
ACL functions and not for Solaris ACL functions, by any chance?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20140827/793d404c/attachment.sig>
More information about the Cygwin
mailing list