Commit Graph

55 Commits

Author SHA1 Message Date
coffeedogs 0bceeca524
Changes based on style and lint checks. (final_code_quality_5) 2018-10-31 14:04:35 +00:00
Peter Šurda 8b3d7ea278
C PoW init fix 2017-08-15 14:09:19 +02:00
Peter Šurda 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
Dmitri Bogomolov e6f0b34f9b
Fixed some inconvenience on first run mainly in Ubuntu.
- immediately return from initCL() if numpy or pyopencl is unevailable
   (no ImportError because of resetPoW() call)
 - use glob to find C extension even if it named like
   `bitmsghash.x86_64-linux-gnu.so`

If user chooses to show the Settings dialog:

 - activate the "Network Settings" tab
 - remove option 'dontconnect' if settings have been saved
2017-04-05 14:25:02 +03:00
Peter Šurda 8d829b587e
Reset OpenCL when settings change
- previously, changing the OpenCL vendor (or turning it on/off) required
  a restart and this wasn't clear
2017-02-28 22:59:44 +01:00
Peter Šurda 6062277d60
Rename configparser.py to bmconfigparser.py
- it was causing problems with py2app because the source of python's own
  CongigParser is also configparser.py
2017-02-22 09:34:54 +01:00
Peter Šurda 75f715bfe4
BSD compatibility
- separate Makefile for BSD make
- auto-compile will detect BSD and pass the correct parameters to make
- C PoW builds on OpenBSD and detects number of cores
2017-02-18 17:20:09 +01:00
Peter Šurda 2cc4435cfc
Imports, typos, syntax errors
- remove obsolete imports
- add missing imports
- fix typos
- fix syntax errors
- thanks to landscape.io for report
2017-02-08 14:19:02 +01:00
Peter Šurda 59f3a2fbe7
Reduce cyclic dependencies
- rearranged code to reduce cyclic dependencies
- doCleanShutdown is separated in shutdown.py
- shared queues are separated in queues.py
- some default values were moved to defaults.py
- knownnodes partially moved to knownnodes.py
2017-02-08 13:41:56 +01:00
Peter Šurda ad75552b5c
Move shutdown from shared.py to state.py 2017-01-14 23:20:15 +01:00
Peter Šurda c738d93056
Assorted fixes
- landscape.io was complaining, this fixes most easily fixable errors
2017-01-11 18:13:00 +01:00
Peter Šurda ac348e4e6b
Fixes and refactoring
- fixes errors introduced in the earlier refactoring
- more variables moved to state.py
- path finding functions moved to paths.py
- remembers IPv6 network unreachable (in the future can be used to skip
  IPv6 for a while)
2017-01-11 17:00:00 +01:00
Peter Šurda 8bcfe80ad0
Refactoring of config parser and shared.py
- got rid of shared config parser and made it into a singleton
- refactored safeConfigGetBoolean as a method of the config singleton
- refactored safeConfigGet as a method of the config singleton
- moved softwareVersion from shared.py into version.py
- moved some global variables from shared.py into state.py
- moved some protocol-specific functions from shared.py into protocol.py
2017-01-11 14:27:19 +01:00
Peter Šurda fefb959338
Notify if C PoW missing
- Linux users often don't know that the C PoW is available and complain
  it's slow. This will try to build it, and adds availability
  notification in the status bar
- also, the updateStatusBar signal now allows emphasised notifications,
  which will remain visible for a longer period of time and also
  reappear if a status change happened in the meantime
2016-12-15 16:11:29 +01:00
Peter Šurda e9a3ef465c
OpenCL vendor selector
- when you have multiple OpenCL drivers at the same time, e.g. intel and
  nvidia, they won't mix leading to crashes. This patch makes it
  possible to select which driver to use by listing the available
  vendors
2016-11-10 21:43:10 +01:00
Peter Šurda 32f1e0447a
Multiprocessing PoW fixes and improvements
- the multiprocessing PoW should now work correctly
- it also should be interruptible correctly and the GUI will ask about
  it during exit
2016-10-22 05:00:35 +02:00
Peter Šurda e6ce73f4bd
Multiple PoW updates
- fixes "fast python" (multiprocessing) PoW
- python PoW (both slow and fast) interruptible on *NIX
- signal handler should handle multiple processes and threads correctly
(only tested on Linux)
- popul window asking whether to interrupt PoW when quitting QT GUI
- PoW status in "sent" folder fixes and now also displays broadcast
status which didn't exist before
- Fixes #894
2016-10-05 20:06:47 +02:00
Peter Šurda b8a08a0ce9
Fix python PoW
- recent changes cause the pool workers to trigger shutdown and freeze.
  Now python PoW works again
2016-06-30 23:03:39 +02:00
mailchuck 9edde110a2 Translation update
Some function calls were not being identified as text that should be
translated.
2016-05-02 15:00:26 +02:00
Peter Šurda 2f27d43e7e PoW can sometimes be shutdown-able
Python and OpenCL PoW now stop when PyBitmessage shutdowns. C PoW needs
additional support in C so it doesn't work there yet.
2016-05-02 15:00:25 +02:00
mailchuck a8053195ea Fix cdecl/stdcall DLL detection
Fixes #146
2016-05-02 15:00:22 +02:00
mailchuck 17d045da10 Sensible default maximum difficulty
Fixes #144
2016-05-02 15:00:22 +02:00
mailchuck 27b8891ab4 Test commit policy commit 2016-05-02 15:00:22 +02:00
mailchuck 41ac1b89d1 Frozen SMP re-disable try 2 2016-05-02 15:00:22 +02:00
mailchuck 549d91dc68 Re-disable windows SMP frozen support
The recommended workaround didn't work.
2016-05-02 15:00:22 +02:00
mailchuck 399100e6d8 PoW support code cleanup
Is now nicer and reports if OpenCL fails
2016-05-02 15:00:21 +02:00
mailchuck 25cc1dc287 Unified code for finding source code location
It is already used in 3 places so I put it into a function
2016-05-02 15:00:20 +02:00
mailchuck 12878af41f Fix Py2Exe / Py2App
Fixes the C PoW loading in frozen apps (Windows and OSX)
Cleaner fallback in PoW if something goes wrong
2016-05-02 15:00:20 +02:00
mailchuck 8e650396da Missing library fix
Missing library error wasn't handled correctly.
2016-05-02 15:00:20 +02:00
mailchuck 1a3794f3e3 C PoW updates
- move to subdirectory
- get rid of compile warnings on windows
- get number of threads from affinity (Windows, Linux) or core count
(BSD/OSX)
2016-05-02 15:00:20 +02:00
mailchuck e5ee7426eb Support for PoW from an external library
This will attempt to include a PoW library (.so on Unix, .dll on
windows) to do PoW. This is done in a safe way and clean fallback to
normal PoW. The code for the library will be in another commit. The code
is take from https://github.com/bm-robertwhite/bitmessage-powfaster,
with minor modifications.

This patch also includes code to make GPU PoW have a safer fallback.
2016-05-02 15:00:20 +02:00
mailchuck 9075f3f5e6 OpenCL Fixes
Still not fully working and hardcoded device number
2016-05-02 15:00:18 +02:00
mailchuck 2b1222f970 Fix: UI 2016-05-02 15:00:18 +02:00
Peter Surda 69309b82fb Minor changes in cli, PoW, and a couple of new api calls. 2016-05-02 15:00:17 +02:00
Peter Šurda 1796c20887 Merge OpenCL code and make OpenCL auto-detectable 2016-05-02 15:00:17 +02:00
Jonathan Warren 5b87bc26ec Fix #758 2015-01-21 12:38:25 -05:00
Jonathan Warren c306062282 Bitmessage Protocol Version Three 2014-08-27 03:14:32 -04:00
Jonathan Warren df7116bd72 on close, save objectProcessorQueue to disk 2013-12-02 01:35:34 -05:00
Grant T. Olson 5eba4e6442 Merge branch 'master' into Fast_PoW_unless_frozen 2013-08-29 11:42:10 -04:00
Grant T. Olson bd489408c7 Actually OSX app maded with py2app can parallelize just fine 2013-08-23 16:10:57 -04:00
Grant T. Olson a20213f1e8 Use fast PoW unless we're explicitly a frozen (binary) version of the code 2013-08-23 13:24:38 -04:00
Tim van Werkhoven 16ff6e883a Use 'inf' as large value instead of 1e20
'inf' is always bigger than any number, 1e20 is not.
2013-08-20 10:43:30 +02:00
Jordan Hall 2eb6558cf1 Added a number of missing imports fixing several issues (thank you PyDev) 2013-06-23 20:52:39 +01:00
Jonathan Warren 9d7a869cb9 Prevent proofOfWork pool threads from returning any data if shut down before finished with a POW 2013-06-19 00:51:31 -04:00
Jonathan Warren 9ff2c9568f adjust code formatting 2013-06-18 12:56:03 -04:00
Arceliar 30d829d0d4 Wait for PoW processes to exit before returning a result. Hopefully not needed. 2013-06-06 19:30:57 +02:00
Arceliar 7f4fee40fb Removed an extraneous conditional import. 2013-06-05 23:29:40 +02:00
Arceliar 279f38ff97 Trying to enable multicore PoW with single core as a fallback when it's a problem. 2013-06-05 23:20:34 +02:00
Jonathan Warren 21559e09f1 Remove multi-core POW support 2013-06-03 23:14:24 -04:00
Jonathan Warren 32efdca33c Emergency fix for 64-bit Windows systems 2013-06-03 20:41:39 -04:00