]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Socket.hh
packet copy bugfix
[chaz/yoink] / src / Moof / Socket.hh
index 948f9423785ea944087f29e580b5ef5b4f6f4391..fcf1a3edbfc0464395941929c222d699d53a1e91 100644 (file)
@@ -390,6 +390,7 @@ public:
 
        int set(int option, int value = 0)
        {
+               if (mFd == -1) mFd = socket(mAddress.family(), mAddress.type(), 0);
                if (option == SO_NONBLOCK)
                {
 #ifdef HAVE_FCNTL
@@ -404,12 +405,14 @@ public:
 
        int set(int option, const std::string& value)
        {
+               if (mFd == -1) mFd = socket(mAddress.family(), mAddress.type(), 0);
                return setsockopt(mFd, SOL_SOCKET, option,
                                value.data(), value.length());
        }
 
        int get(int option, int& value)
        {
+               if (mFd == -1) mFd = socket(mAddress.family(), mAddress.type(), 0);
                if (option == SO_NONBLOCK)
                {
 #ifdef HAVE_FCNTL
@@ -425,6 +428,7 @@ public:
 
        int get(int option, std::string& value)
        {
+               if (mFd == -1) mFd = socket(mAddress.family(), mAddress.type(), 0);
                char str[64] = {'\0'};
                socklen_t optlen = sizeof(str);
                int result = getsockopt(mFd, SOL_SOCKET, option, &str, &optlen);
This page took 0.02045 seconds and 4 git commands to generate.