unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: jim@meyering.net, emacs-devel@gnu.org
Subject: Re: oops? read/write vs type of length parameter
Date: Wed, 13 Apr 2011 09:06:14 -0700	[thread overview]
Message-ID: <4DA5C9F6.3070209@cs.ucla.edu> (raw)
In-Reply-To: <E1Q9weZ-0005e3-Us@fencepost.gnu.org>

On 04/13/2011 02:46 AM, Eli Zaretskii wrote:
> I was asking whether testing errno for EWOULDBLOCK
> and EAGAIN, and the code that deals with when that happens, are good
> enough for all the possible reasons that emacs_write and
> emacs_gnutls_write could return a partial count of bytes.

The revised send_process code tests for EWOULDBLOCK and EAGAIN under
the same conditions that it does now.  If the checks are good enough
now, they will continue to be good enough after the proposed change.
So I still see no problem here.

> sysdep.c is not about system things, it's about Emacs code that
> requires platform-dependent techniques.  Most of that indeed deals
> with system types, but you will find quite a few Emacs specific
> internals

Yes, and I had already mentioned that the abstraction boundaries were
sometimes being violated there.  But let's not make matters worse.
sysdep.c is supposed to be for interfaces to system-dependent kernel
and library code, not for access to Emacs Lisp internals.

>> For example, it would be a fairly small change to make Emacs buildable on
>> a machine with 32-bit pointers and 64-bit EMACS_INT.
> 
> Somehow, I doubt it is a small change.  But if it is, by all means
> let's do it now!  What are we waiting for?

I suspect you are joking, but if not, I'd be happy to implement it.
It shouldn't take that long, and it'd be nice to remove that silly 512
MiB limit.  Would you object to such a change?

But at any rate, that would be a different change, and this fix
shouldn't wait on it.

>> emacs_write should not stand in the way of plausible improvements
>> such as this one.
> 
> Such a configuration (if it indeed is possible "easily") will need to
> revamp several calls to emacs_write anyway, so what type we use there
> now is a moot point.

True, and it suggests that we can revisit the issue if this idea is
implemented.  But in the meantime, we have a proposed change that
fixes bugs and doesn't introduce bugs.  Since there are no downsides
to this fix now, and no improvements to it have been suggested, we can
install it now, and worry about future improvements later.

> Either you care about future changes or you don't.

Both.  I care about plausible future changes; and I also realize that
we don't have time to program for all possibilities and need to fix
what's before us, which the proposed patch does.




  reply	other threads:[~2011-04-13 16:06 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-11  8:55 oops? read/write vs type of length parameter Jim Meyering
2011-04-11  9:44 ` Eli Zaretskii
2011-04-11 11:08   ` Jim Meyering
2011-04-11 11:28     ` David Kastrup
2011-04-11 11:52     ` Eli Zaretskii
2011-04-11 12:27       ` Jim Meyering
2011-04-11 12:31         ` David Kastrup
2011-04-11 21:54           ` Jim Meyering
2011-04-12  4:44             ` Eli Zaretskii
2011-04-12 13:24             ` Ted Zlatanov
2011-04-12 13:29               ` Eli Zaretskii
2011-04-12 14:47                 ` Ted Zlatanov
2011-04-12 17:00                   ` Large file support (was: oops? read/write vs type of length parameter) Eli Zaretskii
2011-04-14 20:57             ` oops? read/write vs type of length parameter Michael Welsh Duggan
2011-04-11 14:02         ` Eli Zaretskii
2011-04-11 11:40   ` Stephen J. Turnbull
2011-04-11 13:58     ` Eli Zaretskii
2011-04-12  1:16       ` Paul Eggert
2011-04-12  3:01         ` Eli Zaretskii
2011-04-12  5:06           ` Paul Eggert
2011-04-12  5:46             ` Eli Zaretskii
2011-04-12  8:19             ` Paul Eggert
2011-04-12  9:41               ` Eli Zaretskii
2011-04-12 15:53                 ` Paul Eggert
2011-04-12 16:56                   ` Eli Zaretskii
2011-04-12 23:55                   ` Juanma Barranquero
2011-04-13  5:14                   ` Paul Eggert
2011-04-13  6:31                     ` Jim Meyering
2011-04-13  6:37                     ` Eli Zaretskii
2011-04-13  8:15                       ` Paul Eggert
2011-04-13  9:46                         ` Eli Zaretskii
2011-04-13 16:06                           ` Paul Eggert [this message]
2011-04-13 17:22                             ` Eli Zaretskii
2011-04-13 19:31                               ` Paul Eggert
2011-04-13 19:59                               ` PJ Weisberg
2011-04-14  4:49                                 ` Eli Zaretskii
2011-04-13 20:02                               ` Paul Eggert
2011-04-13  6:49                     ` Eli Zaretskii
2011-04-13 14:35                     ` Ted Zlatanov
2011-04-15 13:13                       ` Ted Zlatanov
2011-04-15 16:34                         ` Paul Eggert
2011-04-15 18:20                           ` Ted Zlatanov
2011-04-15  1:29                   ` Stefan Monnier
2011-04-15  8:55                     ` Paul Eggert
2011-04-15  9:41                       ` Eli Zaretskii
2011-04-15 10:24                         ` Paul Eggert
2011-04-12 12:32             ` Davis Herring
2011-04-12 13:38               ` Eli Zaretskii
2011-04-12 15:43                 ` Paul Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DA5C9F6.3070209@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jim@meyering.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).