53 Commits

Author SHA1 Message Date
csoler
56e591f728
added a flag in peerState specific to short invites, and several checks for consistency 2019-05-22 21:46:11 +02:00
csoler
2748275397
changed std::cerr to the new RsErr() method 2019-05-12 11:00:33 +02:00
csoler
1cee069243
added warning when deleting a thread that isnot finished 2019-05-12 10:46:08 +02:00
csoler
7b2541e35c
fixed thread bug caused by deleting a thread before it is actually terminated 2019-05-11 23:43:54 +02:00
zapek
3f8611f40f the cache is corrected and saved 2019-04-06 00:15:01 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.

The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
2018-10-07 13:07:06 +02:00
csoler
8641da189c
relicensed util/ and moved rsaes to crypto/ 2018-05-30 21:34:38 +02:00
Gioacchino Mazzurco
4a138e07b9
Implement IPv6 listening
With this commit IPv6-v3 surpass v0.6-IPv6-2 in term of features
  obsoleting it.
p3BitDht handle gracefully unwanted non IPv4 addresses
rsUdpStack handle gracefully unwanted non IPv4 addresses
pqissludp handle gracefully unwanted non IPv4 addresses
Move single address limitation workaround from
  p3discovery2::sendOwnContactInfo to better
  place p3PeerMgrIMPL::UpdateOwnAddress this way local address list is
  queried less often and only id there is some suggestion that it may
  have changed (probably ir will not be called all the times there is a
  changes in local network interfaces but is good enough)
Implement crossplatform rs_setsockopt to avoid too much ifdef around
Implement sockaddr_storage_copy to safely copy sockaddr_storage objects
2018-02-24 17:14:49 +01:00
csoler
d0039241d3 replaced usleep() by rstime::rs_usleep() which accepts times >= 1 sec. Should fix problems on windows 2018-01-27 20:22:31 +01:00
csoler
79825eb2e2 fixed thread issue in RsGxsCleanupThread that caused random crashes 2017-06-12 20:36:02 +02:00
csoler
a7eb167f96 fixed a bug in RsThread which made finished threads unaware of their state 2017-05-30 20:57:20 +02:00
cyril soler
461975f115 generally prevent threads to start twice, and fixed bug causing DirWatcher to be run twice 2016-11-07 10:09:28 +01:00
Phenom
2db8dbd45f Fix El Capitan OSX 10.11 Compil 2016-11-02 21:40:46 +01:00
csoler
4c986cdc3e attempt to fix the pthread_setname_np symbol issue. To be tested 2016-06-03 19:04:52 +02:00
Phenom
832fb78a2a Fix Compilation with unknown pthread_getname_np if not __USE_GNU defined 2016-06-01 22:00:44 +02:00
sehraf
b3fece25da introduce thread naming 2016-06-01 15:07:41 +02:00
Cyril Soler
1d476de806 fixed initialisation of semaphores in created thread object 2016-05-12 10:26:38 -04:00
csoler
96012ef81f new attempt to fix thread issues 2016-05-11 22:18:02 -04:00
Cyril Soler
383e40324d tried to improve the RsSemaphore class to avoid and display more info about the deadlock problem 2016-05-11 12:42:59 -04:00
csoler
67e976057d removed debug output from threads 2016-05-05 22:03:46 -04:00
csoler
9847a7a45f implemented a new semaphore class that should be cross plateform 2016-05-05 20:52:10 -04:00
csoler
0817aad0f9 improved debugging output of rsthreads.cc (part 3) 2016-05-04 22:51:33 -04:00
csoler
bb00e39972 improved debugging output of rsthreads.cc (part 2) 2016-05-04 22:34:03 -04:00
csoler
2e02a89874 improved debugging output of rsthreads.cc 2016-05-04 22:23:36 -04:00
thunder2
502d2353cb Fixed usage of member _thread_id in RsMutex
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8610 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-07-13 09:52:45 +00:00
csoler
f835823de3 moved the stop order up to RsThread to ease the test for stopping order in single job threads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8290 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-25 15:11:42 +00:00
csoler
e9b9dce9f5 created 2 subclasses of RsThread, one for ticking services, and one for single shot jobs. Now all threads use the same base code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-22 20:54:38 +00:00
csoler
f2d4a237ca moved semaphore based thread logic up to RsThread. This should help terminating service threads properly and possibly remove the SIGSEGV when quitting
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-22 18:16:49 +00:00
electron128
48ad51d040 fixed start of RsThreads
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8271 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-18 08:51:23 +00:00
csoler
c8b3d4e527 improved RsServer so that join() is called on every running thread at shutdown, hence avoiding SIGSEGV. Removed some unused members of RsServer
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7776 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-21 20:52:34 +00:00
csoler
db4b87cd01 Mutex debugging: added a new macro RS_STACK_MUTEX(myMutex) to trigger a scope guard while recording file location and line number. Moved the timings from RsMutex to RsStackMutex. Changed the mutexes in rsgenexchange and rsgxsntservice to use the new macro.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7672 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-11-11 19:47:05 +00:00
csoler
7fca2836d6 improved mutex lock debugging
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7662 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-11-05 20:07:15 +00:00
csoler
eefac5e4df added more time measurements in RsMutex, so as to measure locking time and waiting time. Only enabled with RSMUTEX_DEBUG
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7646 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-28 20:37:48 +00:00
csoler
880efee332 removed ifdef for the different sleep methods. Now only usleep is used, on all systems. Patch from Phenom
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7629 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 21:31:58 +00:00
thunder2
31fd6f6261 Code maintenance for Qt 5:
- Fixed compile with MinGW-w64 under Windows


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6866 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 21:42:15 +00:00
thunder2
9095e9bd75 Code maintenance for Qt 5:
- Added some more includes needed by MinGW-w64

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6860 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-21 11:00:49 +00:00
drbob
60087f0ef9 Added return value checking of mutex_lock() function.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6656 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-31 08:16:09 +00:00
thunder2
de87a89437 Added a name to the RsMutex class.
You can enable the debugging of the waiting time for a lock of RsMutex in rsthreads.h with
#define RSMUTEX_DEBUG 300
That means all locks waiting longer than 300ms are logged into the stderr.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4392 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-04 22:59:39 +00:00
csoler
6edee55e57 added error message when thread creation fails
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4112 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-30 22:32:13 +00:00
thunder2
0a42b7899e The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is closed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-03-03 23:30:08 +00:00
thunder2
acf57ed3fd Removed read/write mutex from AuthGPGimpl and from the sources.
Added RsThread as base class to AuthGPGimpl and load all gpg keys every hour.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-30 19:05:43 +00:00
thunder2
d3fc7f3982 Reindroduce the read/write mutex for AuthGPG as mutex for the data member.
Added second mutex for the gpg engine.
Now the call to the gpg engine (for example AuthGPGimpl::LoadCertificateFromString) doesn't block the GUI.
The existing problem is still the call of AuthGPGimpl::storeAllKeys every minute before access the gpg data.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3555 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-28 22:30:57 +00:00
thunder2
a595ba4fc7 Moved constructor of class bdThread from bdThreads.h to bdThreads.cc.
Initialized member mTid of class RsThread too.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3338 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-08-03 14:26:54 +00:00
thunder2
ec6c252d62 fixed crash (asserts) by parallel calls to gpg.exe
changed the RsReadWriteMutex to RsStackMutex in AuthGPG


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3158 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-18 20:19:04 +00:00
thunder2
334c9b61d3 moved rsGlobalShutDown from MainWindow::doQuit to main
rsGlobalShutDown now cleans the threads and some memory on exit

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3028 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 15:14:25 +00:00
joss17
ffdd38ddd5 add the internal counter mutex lock. Move the code of the rw mutec to the rsthreads.cc file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-04-08 19:08:20 +00:00
csoler
08065b4298 ported branch v0.5.0 commits 2623, 2624, 2626, 2633, 2634, 2643, 2644, 2646, 2651 and 2654 to trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-03-28 20:46:45 +00:00
drbob
2bf94b909a Reworking of networking code to enable Net Restart.
* Stun code now runs continually - to check external network state.
  * Udpsorter controls DHT stun is on/off. (via p3ConnectMgr)
  * added code to enable threads to join/restart 
  * enabled NetRestart for UDP and TCP.
  * tweaked networking code for faster startup (now ~30 seconds - can still be improved).
  * tweaked debug messages for testing networking
  * Added test for checking external IP address determination.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-08-04 23:22:44 +00:00
csoler
532148c433 suppressed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1065 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-03-09 12:09:11 +00:00
drbob
0d96b43d34 Enabled new File Transfer Code in libretroshare.
NB: This is not yet working. so SVN is now officially broken :(
Hope to have the bugs ironed out soon.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-11-02 11:38:11 +00:00