History log of /haiku/src/add-ons/kernel/network/notifications/notifications.cpp
Revision Date Author Comments
# 1029af17 01-Sep-2021 Augustin Cavalier <waddlesplash@gmail.com>

Add missing includes following previous commit.

All these files were making use of headers included indirectly
through AutoLock.h that are now no longer following the previous commit.


# 74fed5b5 06-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: net_notifications: check user buffer address ...

in control syscall


# c24adb29 19-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Rework DefaultNotificationService registration.

- Instead of implicitly registering and unregistering a service
instance on construction/destruction, DefaultNotificationService
now exports explicit Register()/Unregister() calls, which subclasses
are expected to call when they're ready.

- Adjust all implementing subclasses. Resolves an issue with deadlocks
when booting a DEBUG=1 build.


# 3f7664ad 15-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Revert part of previous commit.

The aforementioned ReleaseReference() exposes what appears to be a somewhat
more severe issue, leading us to a deadlock. Need to rethink this a bit.


# 00d0a0ea 15-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Fix reference count problem as suggested by Ingo.

During DefaultNotificationService's constructor, we get registered
with the NotificationManager, which acquires a reference. When
uninitializing the module we need to release this reference before
calling the destructor in order to balance the books, as it were.


# c9469812 15-Apr-2013 Axel Doerfler <axeld@pinc-software.de>

This should get the DEBUG=1 build further than the net.

* We need to start with a zero reference count, and we also don't want to
be deleted by that mechanism.
* Note, I could not test the changes yet.


# efd536ff 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleared up a misconception in the notification mechanism. We already had
methods that used an "event mask" field. There was no need to introduce
a "flags" field for the same purpose.
* Renamed protected DefaultNotificationService methods (removed "_" prefix).
* Adjusted the code providing a notification service accordingly.
* Changed the event message several notification services generated by renaming
the "opcode" field to "event".
* Implemented the TEAM_ADDED event and also added a TEAM_EXEC event.
* Added notifications for threads and images.
* Added visitor-like iteration functions for teams, threads, and images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51755cf8 15-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Added DefaultNotificationService and DefaultUserNotificationService
implementations that can be used by subsystems that want to have a pretty
standard service. Only the latter is really complete, though.
* The notification manager is now available earlier in the boot process.
* Added notifications to teams/ports (only add/remove).
* The network notification implementation is now using the
DefaultUserNotificationService.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29543 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d68ffded 27-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* More or less completed the network notification module - it does not remove
old invalid user listeners yet, though (ie. if a team dies).
* Implemented userland network monitor functions.
* Added a few notifications to the network stack, even though this part isn't
complete yet (especially notify_interface_changed()).
* Added optional debug output to the notifications module.
* Added the module to the image, it basically works now (tested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28825 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6dd439f 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Work-in-progress of a network notification implementation.
* Compiles, but doesn't work at all yet. For those who wonder: the networking
notifications are put into a separate module, so that the network stack can
be unloaded without losing connection, IOW user applications will continue
to retrieve notifications when the stack is loaded again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28790 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c24adb29503ec78c6d076801e1d82d16140e3413 19-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Rework DefaultNotificationService registration.

- Instead of implicitly registering and unregistering a service
instance on construction/destruction, DefaultNotificationService
now exports explicit Register()/Unregister() calls, which subclasses
are expected to call when they're ready.

- Adjust all implementing subclasses. Resolves an issue with deadlocks
when booting a DEBUG=1 build.


# 3f7664ad1cb9e1f24fa550f7599acaf06c3120c5 15-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Revert part of previous commit.

The aforementioned ReleaseReference() exposes what appears to be a somewhat
more severe issue, leading us to a deadlock. Need to rethink this a bit.


# 00d0a0eae3a3a4cf8dcd412099a3091340677fc7 15-Apr-2013 Rene Gollent <anevilyak@gmail.com>

Fix reference count problem as suggested by Ingo.

During DefaultNotificationService's constructor, we get registered
with the NotificationManager, which acquires a reference. When
uninitializing the module we need to release this reference before
calling the destructor in order to balance the books, as it were.


# c946981296610251fd026512961729fa5d884951 15-Apr-2013 Axel Doerfler <axeld@pinc-software.de>

This should get the DEBUG=1 build further than the net.

* We need to start with a zero reference count, and we also don't want to
be deleted by that mechanism.
* Note, I could not test the changes yet.


# efd536ff89954302f42c59e2c71fba45e5cb4c25 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Cleared up a misconception in the notification mechanism. We already had
methods that used an "event mask" field. There was no need to introduce
a "flags" field for the same purpose.
* Renamed protected DefaultNotificationService methods (removed "_" prefix).
* Adjusted the code providing a notification service accordingly.
* Changed the event message several notification services generated by renaming
the "opcode" field to "event".
* Implemented the TEAM_ADDED event and also added a TEAM_EXEC event.
* Added notifications for threads and images.
* Added visitor-like iteration functions for teams, threads, and images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51755cf83253c3ebc37694505611eb82189c3b4d 15-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Added DefaultNotificationService and DefaultUserNotificationService
implementations that can be used by subsystems that want to have a pretty
standard service. Only the latter is really complete, though.
* The notification manager is now available earlier in the boot process.
* Added notifications to teams/ports (only add/remove).
* The network notification implementation is now using the
DefaultUserNotificationService.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29543 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d68ffdedc04d63f83d407b194a54de3095cacc06 27-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* More or less completed the network notification module - it does not remove
old invalid user listeners yet, though (ie. if a team dies).
* Implemented userland network monitor functions.
* Added a few notifications to the network stack, even though this part isn't
complete yet (especially notify_interface_changed()).
* Added optional debug output to the notifications module.
* Added the module to the image, it basically works now (tested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28825 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e6dd439f7c1c4b5e8b83362d93f891237e6a7d8a 09-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Work-in-progress of a network notification implementation.
* Compiles, but doesn't work at all yet. For those who wonder: the networking
notifications are put into a separate module, so that the network stack can
be unloaded without losing connection, IOW user applications will continue
to retrieve notifications when the stack is loaded again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28790 a95241bf-73f2-0310-859d-f6bbb57e9c96