Commit Graph

62 Commits

Author SHA1 Message Date
a5773999fe
Refactor BMConfigParser as a Module variable 2022-02-15 17:12:43 +05:30
a3953017b6
Updated code quality ignored bare except warnings changes in proofofwork.py 2021-08-26 14:01:50 +05:30
ed7f973b1c
Empty proofofwork.LogOutput on windows
based on AttributeError in __init__
2021-08-18 20:05:08 +03:00
174dffb360
Hide bmpow output and relog it
using contextmanager found in https://stackoverflow.com/questions/5081657.
Fixes: #1571
2021-08-18 20:05:08 +03:00
navjot
09439b4a0d
added general exception handler 2021-01-13 20:29:20 +05:30
navjot
5fb8692eb6
ignoring ValueError from proofofwork module 2021-01-13 20:29:20 +05:30
lakshyacis
4a369f70c1
formatting and docstring 2020-01-07 12:13:51 +05:30
coffeedogs
0bceeca524
Changes based on style and lint checks. (final_code_quality_5) 2018-10-31 14:04:35 +00:00
8b3d7ea278
C PoW init fix 2017-08-15 14:09:19 +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
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
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
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
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
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
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
ad75552b5c
Move shutdown from shared.py to state.py 2017-01-14 23:20:15 +01:00
c738d93056
Assorted fixes
- landscape.io was complaining, this fixes most easily fixable errors
2017-01-11 18:13:00 +01:00
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
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
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
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
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
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
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
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
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