You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "alexandre parenteau (Created) (JIRA)" <ji...@apache.org> on 2011/12/12 11:34:31 UTC

[jira] [Created] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
--------------------------------------------------------------------------

                 Key: THRIFT-1461
                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.9
         Environment: Linux, Windows
            Reporter: alexandre parenteau
             Fix For: 0.9
         Attachments: THRIFT_1461.patch

Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.

Included in this patch:
- Add more HAVE_CONFIG_H includes
- Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
- Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
- Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
- Restore back more portable evutil_socketpair (in place of pipe, for Windows)
- Add evutil_make_socket_nonblocking (as of THRIFT-1442)

Also included (minor):

- Add x64 target to VisualC++ compiler
- Fix minor glitch in bison/compiler for VisualC++
- Remove more VisualC++ warnings

This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "Roger Meier (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13167722#comment-13167722 ] 

Roger Meier commented on THRIFT-1461:
-------------------------------------

patch looks good, but I have an issue with the libevent version... Debian Squeeze still uses 1.4.13

It seems that evutil_make_socket_closeonexec is not available. Do you have an alternative?
{noformat}
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include -I./src -Wall -std=c++0x -MT libthriftnb_la-TNonblockingServer.lo -MD -MP -MF .deps/libthriftnb_la-TNonblockingServer.Tpo -c src/server/TNonblockingServer.cpp  -fPIC -DPIC -o .libs/libthriftnb_la-TNonblockingServer.o
src/server/TNonblockingServer.cpp: In member function 'void apache::thrift::server::TNonblockingIOThread::createNotificationPipe()':
src/server/TNonblockingServer.cpp:1300: error: 'evutil_make_socket_closeonexec' was not declared in this scope
{noformat}
                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "Roger Meier (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roger Meier resolved THRIFT-1461.
---------------------------------

    Resolution: Fixed
      Assignee: alexandre parenteau

Thanks Alexandre!
committed the patch with an additional ifdef within Thread.h
{noformat}
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
{noformat}
                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>            Assignee: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT-1461-2.txt, THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Reopened] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "Jake Farrell (Reopened) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jake Farrell reopened THRIFT-1461:
----------------------------------


Patch breaks build as seen in THRIFT-1488, reverting this results in successful build again. reopening ticket for further investigation 
                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>            Assignee: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT-1461-2.txt, THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "Jake Farrell (Closed) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jake Farrell closed THRIFT-1461.
--------------------------------

    Resolution: Fixed

Added a cast to get_current() in Thrift-1488. Was using libevent 1.4.x, required an upgrade to latest stable 2.x version.
                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>            Assignee: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT-1461-2.txt, THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "alexandre parenteau (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

alexandre parenteau updated THRIFT-1461:
----------------------------------------

    Attachment: THRIFT_1461.patch
    
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "alexandre parenteau (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

alexandre parenteau updated THRIFT-1461:
----------------------------------------

    Attachment: THRIFT-1461-2.txt

@Roger: sorry for this, I overlooked when using libevent 1. I added a ifdef libevent for that effect. Hopefully this will be short-lived, as I noted all debian are moving toward libevent 2, which is part of upcoming wheezy for example, and already in ubuntu >= 11.10. Thanks.
                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT-1461-2.txt, THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (THRIFT-1461) Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169880#comment-13169880 ] 

Hudson commented on THRIFT-1461:
--------------------------------

Integrated in Thrift #368 (See [https://builds.apache.org/job/Thrift/368/])
    THRIFT-1461 Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
Patch: Alexandre Parenteau

roger : http://svn.apache.org/viewvc/?view=rev&rev=1214547
Files : 
* /thrift/trunk/compiler/cpp/compiler.vcxproj
* /thrift/trunk/compiler/cpp/src/thrifty.yy
* /thrift/trunk/configure.ac
* /thrift/trunk/lib/cpp/src/concurrency/PlatformThreadFactory.h
* /thrift/trunk/lib/cpp/src/concurrency/PosixThreadFactory.cpp
* /thrift/trunk/lib/cpp/src/concurrency/Thread.h
* /thrift/trunk/lib/cpp/src/concurrency/ThreadManager.cpp
* /thrift/trunk/lib/cpp/src/server/TNonblockingServer.cpp
* /thrift/trunk/lib/cpp/src/server/TNonblockingServer.h
* /thrift/trunk/lib/cpp/src/server/TThreadPoolServer.cpp
* /thrift/trunk/lib/cpp/src/windows/config.h
* /thrift/trunk/lib/cpp/test/Makefile.am

                
> Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
> --------------------------------------------------------------------------
>
>                 Key: THRIFT-1461
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1461
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9
>         Environment: Linux, Windows
>            Reporter: alexandre parenteau
>            Assignee: alexandre parenteau
>              Labels: patch
>             Fix For: 0.9
>
>         Attachments: THRIFT-1461-2.txt, THRIFT_1461.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Following the (nice) improvements for TNonblockingServer in THRIFT-1442, this patch restores both --enable-boostthreads=yes, and the Windows build.
> Included in this patch:
> - Add more HAVE_CONFIG_H includes
> - Replace PosixThreadFactory  by PlatformThreadFactory where appropriate
> - Abstract away pthread vs boost::thread inside Thread.h, adding new methods is_current/get_current
> - Renamed INVALID_SOCKET, caused compilation problems on Windows (already defined in WinSock2.h)
> - Restore back more portable evutil_socketpair (in place of pipe, for Windows)
> - Add evutil_make_socket_nonblocking (as of THRIFT-1442)
> Also included (minor):
> - Add x64 target to VisualC++ compiler
> - Fix minor glitch in bison/compiler for VisualC++
> - Remove more VisualC++ warnings
> This was tested on Ubuntu 10.10, Boost 1.44, Libevent 2.0.16, Visual C++ 10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira