~ubuntu-branches/ubuntu/karmic/hddtemp/karmic

« back to all changes in this revision

Viewing changes to hddtemp-0.3-beta14_unix.diff

  • Committer: Bazaar Package Importer
  • Author(s): Aurelien Jarno
  • Date: 2007-01-19 00:38:27 UTC
  • mfrom: (2.1.10 feisty)
  • Revision ID: james.westby@ubuntu.com-20070119003827-ch64quemh03mex0d
Tags: 0.3-beta15-34
* Relax SATA magic checkings (closes: #404310)
* Updated Swedish debconf template. Thanks to Daniel Nylander (closes:
  bug#398788).
* /etc/default/hddtemp: changed SYSLOG into RUN_SYSLOG and fixed the
  comments (closes: bug#401978).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
diff -Naur hddtemp-0.3-beta14_orig/src/daemon.c hddtemp-0.3-beta14/src/daemon.c
 
2
--- hddtemp-0.3-beta14_orig/src/daemon.c        2005-06-04 04:22:35.000000000 +0200
 
3
+++ hddtemp-0.3-beta14/src/daemon.c     2005-11-16 14:37:50.000000000 +0100
 
4
@@ -39,6 +39,7 @@
 
5
 #include <sys/types.h>
 
6
 #include <sys/stat.h>
 
7
 #include <sys/socket.h>
 
8
+#include <sys/un.h>
 
9
 #include <arpa/inet.h>
 
10
 #include <netdb.h>
 
11
 #include <signal.h>
 
12
@@ -62,6 +63,7 @@
 
13
   struct addrinfo*   all_ai;
 
14
   struct addrinfo    hints;
 
15
   struct addrinfo*   resp;
 
16
+  struct sockaddr_un addr;
 
17
   char               portbuf[10];
 
18
   int                on = 1;
 
19
   int                ret;
 
20
@@ -80,6 +82,10 @@
 
21
   /* Count max number of sockets we might open. */
 
22
   for (sks_serv_num = 0, resp = all_ai ; resp ; resp = resp->ai_next)
 
23
     sks_serv_num++;
 
24
+
 
25
+  /* extra num for unix socket */
 
26
+  sks_serv_num++;
 
27
+
 
28
   sks_serv = malloc(sizeof(int) * sks_serv_num);
 
29
   if (!sks_serv) {
 
30
     perror("malloc");
 
31
@@ -127,6 +133,30 @@
 
32
   }
 
33
     
 
34
   freeaddrinfo(all_ai);
 
35
+  
 
36
+  bzero((char*) &addr, sizeof(addr));
 
37
+  addr.sun_family = AF_UNIX;
 
38
+  strncpy(addr.sun_path, UNIX_ADDR, sizeof addr.sun_path - 1);
 
39
+  addr.sun_path[sizeof addr.sun_path - 1] = '\0';
 
40
+
 
41
+  (void) unlink(addr.sun_path);
 
42
+
 
43
+  if ((sks_serv[sks_serv_num] = socket(PF_UNIX, SOCK_STREAM, 0)) == -1 ||
 
44
+       bind(sks_serv[sks_serv_num], (struct sockaddr *) &addr,
 
45
+             sizeof(addr.sun_family) + strlen(addr.sun_path)) ||
 
46
+        listen(sks_serv[sks_serv_num],5))
 
47
+  {
 
48
+    perror("unix");
 
49
+    for (sks_serv_num-- ; sks_serv_num > 0 ; sks_serv_num--)
 
50
+      close(sks_serv[sks_serv_num]);         
 
51
+    free(sks_serv);
 
52
+    exit(1);         
 
53
+  }
 
54
+  else
 
55
+  {
 
56
+    chmod(addr.sun_path, 0666);  
 
57
+    sks_serv_num++;
 
58
+  }
 
59
 }
 
60
 
 
61
 void daemon_update(struct disk *ldisks, int nocache) {
 
62
@@ -151,6 +181,8 @@
 
63
   
 
64
   for (i = 0 ; i < sks_serv_num; i++)
 
65
     close(sks_serv[i]);
 
66
+
 
67
+  (void) unlink(UNIX_ADDR);
 
68
 }
 
69
 
 
70
 void daemon_send_msg(struct disk *ldisks, int cfd) {
 
71
@@ -401,4 +433,3 @@
 
72
   if (syslog_interval > 0)
 
73
     closelog();
 
74
 }
 
75
-
 
76
diff -Naur hddtemp-0.3-beta14_orig/src/hddtemp.h hddtemp-0.3-beta14/src/hddtemp.h
 
77
--- hddtemp-0.3-beta14_orig/src/hddtemp.h       2005-08-31 11:08:18.000000000 +0200
 
78
+++ hddtemp-0.3-beta14/src/hddtemp.h    2005-11-16 14:24:27.000000000 +0100
 
79
@@ -32,6 +32,8 @@
 
80
 #define MAX_ERRORMSG_SIZE      128
 
81
 #define DEFAULT_ATTRIBUTE_ID   194
 
82
 
 
83
+#define UNIX_ADDR "/var/run/hddtemp.sock"
 
84
+
 
85
 #define F_to_C(val) (int)(((double)(val)-32.0)/1.8)
 
86
 #define C_to_F(val) (int)(((double)(val)*(double)1.8) + (double)32.0)
 
87
 
 
 
b'\\ No newline at end of file'