X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgiounix.c;h=2a06dac80403326264327310fef0999efa09487d;hb=c9bd7542e1a28ba9de60048361c0a97d251833e7;hp=72239c7152239c8832f1a4b5c0af2ce3799c11e3;hpb=3e01bbaafb43986d5d79f8499a98ae8762ea47f9;p=platform%2Fupstream%2Fglib.git diff --git a/glib/giounix.c b/glib/giounix.c index 72239c7..2a06dac 100644 --- a/glib/giounix.c +++ b/glib/giounix.c @@ -5,21 +5,28 @@ * Copyright 1998 Owen Taylor * * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/* + * Modified by the GLib Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GLib Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GLib at ftp://ftp.gtk.org/pub/gtk/. + */ + /* * MT safe */ @@ -71,9 +78,11 @@ static guint g_io_unix_add_watch (GIOChannel *channel, GDestroyNotify notify); static gboolean g_io_unix_prepare (gpointer source_data, GTimeVal *current_time, - gint *timeout); + gint *timeout, + gpointer user_data); static gboolean g_io_unix_check (gpointer source_data, - GTimeVal *current_time); + GTimeVal *current_time, + gpointer user_data); static gboolean g_io_unix_dispatch (gpointer source_data, GTimeVal *current_time, gpointer user_data); @@ -98,7 +107,8 @@ GIOFuncs unix_channel_funcs = { static gboolean g_io_unix_prepare (gpointer source_data, GTimeVal *current_time, - gint *timeout) + gint *timeout, + gpointer user_data) { *timeout = -1; return FALSE; @@ -106,7 +116,8 @@ g_io_unix_prepare (gpointer source_data, static gboolean g_io_unix_check (gpointer source_data, - GTimeVal *current_time) + GTimeVal *current_time, + gpointer user_data) { GIOUnixWatch *data = source_data; @@ -131,7 +142,7 @@ g_io_unix_destroy (gpointer source_data) { GIOUnixWatch *data = source_data; - g_main_poll_remove (&data->pollfd); + g_main_remove_poll (&data->pollfd); g_io_channel_unref (data->channel); g_free (data); } @@ -155,6 +166,7 @@ g_io_unix_read (GIOChannel *channel, case EINVAL: return G_IO_ERROR_INVAL; case EAGAIN: + case EINTR: return G_IO_ERROR_AGAIN; default: return G_IO_ERROR_UNKNOWN; @@ -186,6 +198,7 @@ g_io_unix_write(GIOChannel *channel, case EINVAL: return G_IO_ERROR_INVAL; case EAGAIN: + case EINTR: return G_IO_ERROR_AGAIN; default: return G_IO_ERROR_UNKNOWN; @@ -276,7 +289,7 @@ g_io_unix_add_watch (GIOChannel *channel, watch->pollfd.fd = unix_channel->fd; watch->pollfd.events = condition; - g_main_poll_add (priority, &watch->pollfd); + g_main_add_poll (&watch->pollfd, priority); return g_source_add (priority, TRUE, &unix_watch_funcs, watch, user_data, notify); }