Revision: 129
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=129&view=rev
Author: jmwozniak
Date: 2010-05-18 18:17:40 +0000 (Tue, 18 May 2010)
Log Message:
-----------
Allow user to set CMPI fifo locations
Modified Paths:
--------------
src/cmpi/driver.c
Modified: src/cmpi/driver.c
===================================================================
--- src/cmpi/driver.c 2010-05-18 18:16:51 UTC (rev 128)
+++ src/cmpi/driver.c 2010-05-18 18:17:40 UTC (rev 129)
@@ -15,6 +15,9 @@
bool driver_quitting = false;
+char* fifo_in = NULL;
+char* fifo_out = NULL;
+
cmpi_driver*
driver_create(void)
{
@@ -44,16 +47,41 @@
}
/**
+ Setup driver fifo locations.
+ Based on C-MPI parameter driver_dir
+*/
+void driver_setup_fifo_names()
+{
+ char* dir = cmpi_params_search("driver_dir");
+ if (!dir)
+ dir = "/tmp";
+
+ fifo_in = malloc(CMPI_BLOB_LENGTH*sizeof(char));
+ fifo_out = malloc(CMPI_BLOB_LENGTH*sizeof(char));
+
+ fifo_in[0] = '\0';
+ fifo_out[0] = '\0';
+
+ strcat(fifo_in, dir);
+ strcat(fifo_in, "/cmpi.fifo.in");
+
+ strcat(fifo_out, dir);
+ strcat(fifo_out, "/cmpi.fifo.out");
+
+ NOTE_FSS(fifo_in,fifo_out);
+
+ signal(SIGPIPE, SIG_IGN);
+}
+
+/**
@return True iff the fifos were set up and opened correctly.
*/
bool
driver_setup_fifo(cmpi_driver* driver)
{
- char fifo_in[20] = "/tmp/cmpi.fifo.in";
- char fifo_out[20] = "/tmp/cmpi.fifo.out";
+ if (!fifo_in)
+ driver_setup_fifo_names();
- signal(SIGPIPE, SIG_IGN);
-
unlink(fifo_in);
unlink(fifo_out);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|