tSpurious checks for HTTP socket write-ready status removed - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 19ef80f5719c9b6064678a2f2f3b1312eb9c0740
 (DIR) parent fd337f75410505b0b71ed3d2bb5e7531f1cd3ad1
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Sun,  9 Sep 2001 22:51:44 +0000
       
       Spurious checks for HTTP socket write-ready status removed
       
       
       Diffstat:
         M src/gtk_client.c                    |      24 +++++++++++-------------
         M src/message.c                       |       4 ++++
         M src/serverside.c                    |       7 +++++++
       
       3 files changed, 22 insertions(+), 13 deletions(-)
       ---
 (DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
       t@@ -1998,14 +1998,19 @@ static void HandleMetaSock(gpointer data,gint socket,
              CloseHttpConnection(widgets->MetaConn);
              widgets->MetaTag=0; widgets->MetaConn=NULL;
              FillMetaServerList(widgets);
       +   } else if (condition&GDK_INPUT_WRITE &&
       +              !widgets->MetaConn->NetBuf.WriteBuf.DataPresent) {
       +/* If we've written out everything, no need to test for write-ready any more */
       +      gdk_input_remove(widgets->MetaTag);
       +      widgets->MetaTag=gdk_input_add(widgets->MetaConn->NetBuf.fd,
       +                                     GDK_INPUT_READ,
       +                                     HandleMetaSock,(gpointer)widgets);
           }
        }
        
        static void UpdateMetaServerList(GtkWidget *widget,
                                         struct StartGameStruct *widgets) {
       -/* char *MetaError;
       -   int HttpSock;*/
       -
       +   GtkWidget *metaserv;
           if (widgets->MetaTag) {
              gdk_input_remove(widgets->MetaTag);
              CloseHttpConnection(widgets->MetaConn);
       t@@ -2015,20 +2020,13 @@ static void UpdateMetaServerList(GtkWidget *widget,
           widgets->MetaConn = OpenMetaHttpConnection();
        
           if (widgets->MetaConn) {
       +      metaserv=widgets->metaserv;
       +      gtk_clist_clear(GTK_CLIST(metaserv));
       +      ClearServerList();
              widgets->MetaTag = gdk_input_add(widgets->MetaConn->NetBuf.fd,
                                               GDK_INPUT_READ|GDK_INPUT_WRITE,
                                               HandleMetaSock,(gpointer)widgets);
           }
       -
       -/* MetaError=OpenMetaServerConnection(&HttpSock);
       -
       -   if (MetaError) {
       -      return;
       -   }
       -   ReadMetaServerData(HttpSock);
       -   CloseMetaServerConnection(HttpSock);
       -   MetaServerRead=TRUE;
       -   FillMetaServerList(widgets);*/
        }
        
        static void MetaServerConnect(GtkWidget *widget,
 (DIR) diff --git a/src/message.c b/src/message.c
       t@@ -628,6 +628,10 @@ HttpConnection *OpenHttpConnection(gchar *HostName,unsigned Port,
           QueueMessageForSend(&conn->NetBuf,text->str);
        
           if (conn->Headers) QueueMessageForSend(&conn->NetBuf,conn->Headers);
       +
       +   g_string_sprintf(text,"User-Agent: dopewars/%s",VERSION);
       +   QueueMessageForSend(&conn->NetBuf,text->str);
       +
           QueueMessageForSend(&conn->NetBuf,"\n");
           if (conn->Body) QueueMessageForSend(&conn->NetBuf,conn->Body);
        
 (DIR) diff --git a/src/serverside.c b/src/serverside.c
       t@@ -190,6 +190,7 @@ void RegisterWithMetaServer(gboolean Up,gboolean SendData,
           MetaConn=OpenHttpConnection(MetaServer.Name,MetaServer.Port,
                                       MetaServer.ProxyName,MetaServer.ProxyPort,
                                       "POST",MetaServer.Path,headers->str,body->str);
       +   g_print("Sending headers %s and body %s\n",headers->str,body->str);
           g_string_free(headers,TRUE);
           g_string_free(body,TRUE);
        
       t@@ -1003,6 +1004,12 @@ void GuiHandleMeta(gpointer data,gint socket,GdkInputCondition condition) {
              gdk_input_remove(MetaInputTag);
              MetaInputTag=0;
              if (IsServerShutdown()) GuiQuitServer();
       +   } else if (condition&GDK_INPUT_WRITE &&
       +              !MetaConn->NetBuf.WriteBuf.DataPresent) {
       +/* If we've written out everything, no need to test for write-ready any more */
       +      gdk_input_remove(MetaInputTag);
       +      MetaInputTag=gdk_input_add(MetaConn->NetBuf.fd,
       +                                 GDK_INPUT_READ,GuiHandleMeta,NULL);
           }
        }