summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/daemon/source/sendgui.cc
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/daemon/source/sendgui.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/daemon/source/sendgui.cc47
1 files changed, 7 insertions, 40 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/sendgui.cc b/noncore/net/wellenreiter/daemon/source/sendgui.cc
index 48ad5b8..9e57094 100644
--- a/noncore/net/wellenreiter/daemon/source/sendgui.cc
+++ b/noncore/net/wellenreiter/daemon/source/sendgui.cc
@@ -10,35 +10,2 @@
10 10
11/* Simple dummy for alarm timer */
12static void alarmdummy(int signo)
13{
14 alarm (0);
15}
16
17/* Connect to given IP on given port */
18int connect_server(int *sock, unsigned int ipaddr, int port)
19{
20 struct sockaddr_in saddr;
21 int retval=0;
22
23 *sock = socket (PF_INET, SOCK_STREAM, 0);
24 saddr.sin_family = PF_INET;
25 saddr.sin_port = htons (port);
26 saddr.sin_addr.s_addr = ipaddr;
27
28 signal (SIGALRM, alarmdummy);
29 siginterrupt (SIGALRM, 1);
30
31 alarm(5);
32 retval=connect (*sock, (struct sockaddr *) &saddr, sizeof (saddr));
33 alarm(0);
34
35 if(retval < 0)
36 {
37 close (*sock);
38 return 0;
39 }
40
41 return 1;
42}
43
44/* Send a string to the GUI */ 11/* Send a string to the GUI */
@@ -48,2 +15,3 @@ int sendgui(const char *string, ...)
48 char buffer[4096]; 15 char buffer[4096];
16 struct sockaddr_in saddr;
49 va_list ap; 17 va_list ap;
@@ -56,9 +24,9 @@ int sendgui(const char *string, ...)
56 24
57 if(!connect_server(&sock, inet_addr(GUIADDR), GUIPORT)) 25 /* Setup socket */
58 { 26 sock = socket (AF_INET, SOCK_DGRAM, 0);
59 log_err("Connect to GUI at '%s' failed: %s", GUIADDR, strerror(errno)); 27 saddr.sin_family = AF_INET;
60 return 0; 28 saddr.sin_port = htons(GUIPORT);
61 } 29 saddr.sin_addr.s_addr = inet_addr(GUIADDR);
62 30
63 if(write(sock, buffer, sizeof(buffer)) < 0) 31 if(sendto(sock, buffer, sizeof(buffer), 0, (struct sockaddr *)&saddr, sizeof(saddr)) < 0)
64 { 32 {
@@ -74,2 +42 @@ int sendgui(const char *string, ...)
74} 42}
75