4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-09 02:29:07 +08:00

37 lines
855 B
C

#include "msg_peek.h"
int
main ()
{
int sfd, cfd;
ssize_t nread;
char buf[BUF_SIZE];
if (remove (SV_SOCK_PATH) < 0 && errno != ENOENT)
errExit ("remove");
if ((sfd = unixBind (SV_SOCK_PATH, SOCK_STREAM)) < 0)
errExit ("unixBind");
if (listen (sfd, BACKLOG) < 0)
errExit ("listen");
cfd = accept (sfd, NULL, NULL);
if (cfd < 0)
errExit ("accept");
printf ("peeking...\n");
if ((nread = recv (cfd, buf, BUF_SIZE - 1, MSG_PEEK)) < 0)
errExit ("recv");
buf[nread] = '\0';
printf ("reading would yield %zd bytes: %s\n", nread, buf);
sleep (1);
printf ("reading...\n");
if ((nread = read (cfd, buf, BUF_SIZE)) < 0)
errExit ("read");
buf[nread] = '\0';
printf ("read %zd bytes: %s\n", nread, buf);
if (close (cfd) < 0)
errExit ("close");
}