Commit Graph

10 Commits

Author SHA1 Message Date
Ivo van Dongen
68f470fdda [core] make actor self reference optional - again
- uses a different method of constructor selection that also works on Apple clang < 8.2.
2017-08-08 11:36:30 +03:00
Thiago Marcos P. Santos
2dd8ec8854 [core] Removed unused constructor
Not in use at the moment, was causing a compiler error on
Apple LLVM version 8.0.0 (clang-800.0.42.1).

```
src/mbgl/sprite/sprite_loader.cpp:25:11: error: call to constructor of
'Actor<mbgl::SpriteLoaderWorker>' is ambiguous
```
2017-08-07 18:48:42 +03:00
Ivo van Dongen
5ee05a7781 [core] make actor self reference optional 2017-07-24 19:30:02 +03:00
Ivo van Dongen
a9ac314a5d [core] implement ask pattern in actor 2017-07-24 19:30:02 +03:00
Ivo van Dongen
b353f45fed [core] add test to demonstrate waiting threads in mailbox::receive won't crash on self-closing 2017-05-27 09:25:03 +03:00
Ivo van Dongen
b608d85db7 [core] allow self closing mailbox/actor 2017-05-27 09:25:03 +03:00
John Firebaugh
2c8343aa82 [core] Block in Mailbox::close() until neither receive nor push are in progress
Otherwise, an ActorRef that's in the process of sending a message could attempt to access an invalid Scheduler reference:

      Thread 1                     Thread 2
--------------------------------------------------
 Scheduler::Scheduler
     Actor::Actor
                              weakMailbox.lock()
     Actor::~Actor
 Scheduler::~Scheduler
                               mailbox->push()
                             scheduler.schedule() 💣
2017-05-24 08:19:19 -07:00
Konstantin Käfer
3bc79e316e [build] move default ThreadPool implementation to platform/default 2016-11-22 20:58:51 +01:00
Mike Morris
817c26111a [core] [node] pass thread pool impl to Map constructor
Updates mbgl::Map constructor usage everywhere

Adds NodeThreadPool implementation using AsyncQueue to call
Nan::AsyncQueueWorker from main thread
2016-10-20 14:37:36 -04:00
Konstantin Käfer
3f3fc7b772 [test] add .test.cpp suffix to test case files 2016-09-28 16:34:22 +02:00