Commit Graph

2421 Commits

Author SHA1 Message Date
b7f808cde1
Add shutdown command to API
- calling "shutdown" now cleanly shuts down PyBitmessage, however the
call may not return so you need to add an error handler to the call.
With python for example, wrap the "shutdown()" in
"try:/except socket.error"
2017-08-21 10:39:03 +02:00
b886f935d4
Daemon Windows fix
- closing the filehandle isn't the correct approach, it causes more
bugs. Use os.devnull instead
2017-08-20 12:05:53 +02:00
314af0925f
Daemonize fix for Windows
- /dev/null isn't available on Windows so just close the console
sockets directly
2017-08-20 11:55:54 +02:00
2da4d00730
Support message C PoW fix 2017-08-15 18:14:36 +02:00
8b3d7ea278
C PoW init fix 2017-08-15 14:09:19 +02:00
623553393b
PID file truncate fix
- on unix it truncated the file if a second instance was being
launched
2017-08-15 12:25:38 +02:00
a48dff3bee
PoW init reordering
- inited by the worker thread on its own init, instead of when the
imports are being evaluated
- also got rid of windows-style newlines in OpenCL PoW
2017-08-15 12:24:43 +02:00
58b47bc6de
Forking fixes 2017-08-15 12:22:24 +02:00
PyBitmessage Translations
3c50615998
Auto-updated language zh_cn from transifex 2017-08-13 16:54:52 +02:00
PyBitmessage Translations
4d0a40fd2a
Auto-updated language sk from transifex 2017-08-11 09:46:06 +02:00
PyBitmessage Translations
85e4e5438c
Auto-updated language de from transifex 2017-08-11 09:38:00 +02:00
e7231f3aea
Fix multiple TCP bind address handling 2017-08-09 23:30:22 +02:00
6c695c8ac7
Remove non-asyncore network code (partial) 2017-08-09 17:36:52 +02:00
0b07b1c89a
Peer discovery updates
- allow loopback addresses, now you can bind different loopback IP
addresses on a single system and they will auto-cross-connect
- always listen for discovery on 0.0.0.0
- [network] - bind now also applies for the TCP socket as well as UDP
socket
- closing socket iterator fix
2017-08-09 17:34:47 +02:00
e071efac1a
Typo 2017-08-09 17:29:48 +02:00
cc955cd69d
Try new ports of binding fails
- API and BM protocol will try random ports for binding if those
configured are occupied
2017-08-09 17:29:23 +02:00
0324958e92
Peer discovery fixes
- incoming packets weren't correctly processed
2017-08-06 23:05:54 +02:00
d9e4f2ceb8
Typo in previous commit 2017-08-06 21:38:23 +02:00
f338c00f8e
Change peer discovery tracking from queue to a dict
- with a queue, a situation could occur when new entries are appended
but nothing is polling the queue
2017-08-06 21:29:54 +02:00
4564d37f5b
Typo in previous commits 2017-08-06 21:26:25 +02:00
38872159fb
Typo in previous commit 2017-08-06 20:40:35 +02:00
5895dc2f1f
Asyncore Windows error handling
- windows behaves somewhat differently when using select
2017-08-06 20:39:14 +02:00
578c5dd495
Fix windows PID file 2017-08-06 18:29:08 +02:00
5108d08ac9
Windows asyncore error handler fix
- WSAEWOULDBLOCK is now checked on connect and accept
2017-08-06 18:18:21 +02:00
8f14fb05a1
UDP socket setsockopt fix 2017-08-05 10:14:15 +02:00
7a4551e1e7
Fix signal handler in daemon mode
- signal handler requires the main thread to run
2017-07-30 09:36:20 +02:00
3e6de7a9ad
Flush PID file on unix as well 2017-07-28 19:21:56 +02:00
e7382b7714
Write PID into the lock file 2017-07-28 09:39:49 +02:00
501f07dd34
Setsid is not available on Windows
- wrap an error handler around it
2017-07-28 09:19:53 +02:00
20cbac9752
Fix daemonize for Windows
Fixes #1034
2017-07-28 08:54:34 +02:00
a29f7534ee
Add EINTR handler for select and poll pollers 2017-07-21 09:06:02 +02:00
2530c62050
epoll throws IOError rather than select.error 2017-07-21 07:49:34 +02:00
aa059d6f2f
Handle TLS errors in receivequeuethread
- well at least EBADF, it seems to happen sometimes
2017-07-21 07:47:18 +02:00
4f19c37fdc
Parser fix for multi-level arrays 2017-07-11 10:29:29 +02:00
dcc181bf75
Asyncore processing thread synchronisation
- threre was a synchronisation problem where one thread could process
more data than another thread was expecting, leading to the thread
crashing
2017-07-10 23:18:58 +02:00
f6d5d93bf2
Multiple receive queues fix
- forgot to commit busy handler
2017-07-10 20:52:11 +02:00
db2d78c9b6
Make protocol decoder less recursive
- apparently, recursion has bad performance in Python, so the decoder is
now flat, except when parsing "version" command
2017-07-10 07:15:27 +02:00
853c8561ec
Per connection node id part 2
- forgot to include this in the previous commit
2017-07-10 07:12:52 +02:00
3941b39136
Randomise node id
- in order to detect if it's connected to to itself, PyBitmessage now
uses a per-connection id rather than a global one
2017-07-10 07:10:05 +02:00
bdf61489ae
Allow multiple ReceiveQueue threads
- defaults to 3
2017-07-10 07:08:10 +02:00
f088e0ae21
Change thread names
- not needed to have "Thread" in the name of a thread
2017-07-10 07:05:50 +02:00
4fce01e34a
Less data transferred in invThread and addrThread 2017-07-08 18:02:47 +02:00
2df9598774
Asyncore update: Fix incoming connections
- dereferencing wasn't done correctly for incoming connections
2017-07-08 07:33:29 +02:00
2d7d9c2f92
Asyncore update
- request downloads in bigger chunks
- don't put whole objects into the receiveDataQueue
2017-07-08 06:54:25 +02:00
0f3a69adf4
Asyncore update: remove references to deleted files 2017-07-08 06:53:20 +02:00
5ae1b6d865
Asyncore update: remove obsolete files 2017-07-08 06:52:17 +02:00
PyBitmessage Translations
1aa45d6eac
Auto-updated language eo from transifex 2017-07-07 16:32:25 +02:00
PyBitmessage Translations
6eb9e93575
Auto-updated language ja from transifex 2017-07-07 16:31:14 +02:00
PyBitmessage Translations
4f969088cf
Auto-updated language pl from transifex 2017-07-07 07:56:19 +02:00
a98b8690d3
Asyncore fixes
- fix broken loops
- optimise I/O tests
2017-07-07 07:55:29 +02:00