X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:content-type:date:from:message-id:mime-version :subject:to:content-transfer-encoding; q=dns; s=default; b=ZHXzh f0jn3ph+JEZ5M3lTVD4al8rMZSAScbJnBVuRewV/5t59cfwC0/eQ2tGArIZgcxs1 X+yBgw1d1FdO1YZbOOeN58ybXMZZI1PCID0v5DrMBqj3wAJeJxbWEiftpMFCcf4y werbDNJ3awki68AEjUkUggDe8q/7xb5aWhLfjM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:content-type:date:from:message-id:mime-version :subject:to:content-transfer-encoding; s=default; bh=2flU2gJoFeV EiwYVaTjUm1xIX7c=; b=Vd4zvHRUO5iHXq4AItlteInpwJcpzJtZ+cD82R7oI9q ND9veiC9SuybSBTpwh5lSKWCLZuoRpzmQ2WoMJirLSH0NY/YdJlUU8BIq2LesOLI w9BFPh1HJYHNesjeIxKTwRH3VCcmD3nBAJREJ7Gk0b31vNJITDbgLv32bVooo3p8 = Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL,BAYES_20,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 X-HELO: mout.gmx.net Content-Type: text/plain; charset="utf-8" Date: Wed, 23 Apr 2014 16:53:36 +0200 From: "qq qq" Message-ID: <20140423145338.163340@gmx.com> MIME-Version: 1.0 Subject: Re: Cygwin's writev() non-standard behavior To: cygwin AT cygwin DOT com x-registered: 0 Content-Transfer-Encoding: 8bit > furthermore, cygwin should emulate Linux behavior, even if POSIX > doesn't define the behavior. And which is why I compared Linux vs. Cygwin in my original post ? > so your argument is flawed - you have triggered undefined behavior. Same difference: $ cat test.c #include #include #include #include #include #include int main() {  struct iovec vec;  int fd = open("test.out", O_WRONLY | O_CREAT, 0666);  memset(&vec, 0, sizeof(vec));  if (writev(fd, &vec, 0) < 0)    perror("writev");  return 0; } Linux: $ gcc -Wall test.c $ ./a.out Cygwin: $ gcc -Wall test.c $ ./a.exe writev: Invalid argument -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple