Commit Graph

62 Commits

Author SHA1 Message Date
Ms2ger
f4153f40d4 Bug 900980 - Part a: Move unconditional assignments to EXPORT_LIBRARY to moz.build; rs=gps 2013-10-03 09:11:13 +02:00
Thomas Zimmermann
e641d4540e Bug 912996: Remove memcpy when reading from Unix socket, r=qdot
We used to allocate memory on the stack when reading from a file
descriptor and copied the result into an instance of UnixSocketRawData.

This patch

 - cleans up the interface of UnixSocketRawData,
 - removes the large stack allocation (64KiB), and
 - removes the unnecessary memcpy.

Other memcpys for sending data have been moved into the constructor
of UnixSocketRawData.

--HG--
extra : rebase_source : 46ed1c73481732c3f3350bf0bedb56d376c24e98
2013-09-06 10:18:35 +02:00
Thomas Zimmermann
6ab06611af Bug 912996: Fix whitespaces, r=qdot
--HG--
extra : rebase_source : 1494c72c57e9e47dd7e082ef39bc264d348b6224
2013-09-06 10:17:55 +02:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Brian O'Keefe
d118b95a0d Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Eric Chou
1e2631f053 Bug 902460 - Close socket before NotifyError(), r=qdot 2013-08-27 12:10:48 +08:00
Ms2ger
1c4d224f0e Bug 883284 - Part d: Move LIBXUL_LIBRARY into moz.build (f-j); r=bsmedberg 2013-08-22 08:56:00 +02:00
Ms2ger
4807f1c86c Bug 882859 - Part b: Move FAIL_ON_WARNINGS into moz.build; r=joey+gps 2013-08-22 08:55:59 +02:00
Brian O'Keefe
61565e4086 Bug 896177 - Remove useless config.mk includes; r=gps 2013-07-17 16:06:53 -04:00
Ms2ger
ee0442e9f6 Bug 899261 - Use @DEPTH@ more; r=bsmedberg 2013-08-02 09:04:38 +02:00
Brian O'Keefe
f4815f2203 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04:00
Trevor Saunders
f33ade0d68 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Justin Lebar
051c5b560a Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Mike Shal
5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Kyle Machulis
8b159fc25b Bug 854846: Make UnixSocket's connect function non-block; r=tzimmermann 2013-05-13 20:51:21 -07:00
Mike Shal
df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Eric Chou
85ab9277fa Bug 823803 - Add L2CAP/EL2CAP Socket support, r=qdot, r=gyeh
This version of BlueZ from Code Aurora has added GOEP_PSM to Object
Push Profile service record, which means that remote devices may
connect with us via both L2CAP and RFCOMM. This patch completes
L2CAP/EL2CAP socket implementation.
2013-04-12 18:45:37 +08:00
Eric Chou
9a7967cfef Bug 851046: Patch 2 - New Class: BluetoothSocket; r=mrbkap 2013-04-04 17:52:12 -07:00
Matt Brubeck
3ee37d2232 Back out bug 851046 because of rebase problems 2013-04-04 17:45:06 -07:00
Eric Chou
1cb12255d7 Bug 851046: Patch 2 - New Class: BluetoothSocket; r=mrbkap
--HG--
extra : rebase_source : 692fc69bc24a212621a5ff8a37fd17c237de9b20
2013-04-04 17:25:44 -07:00
Ryan VanderMeulen
e3283fe2b4 Backed out 9 changesets (bug 851046) for B2G bustage on a CLOSED TREE. 2013-04-03 15:54:36 -04:00
Eric Chou
25528343e6 Bug 851046 - New class: BluetoothSocket. r=mrbkap
After this new class is landed, communicating with other devices on
profile level should become more intuitive and reasonable. Each
Bluetooth*Manager doesn't need to inherit UnixSocketConsumer, instead,
BluetoothSocket inherits UnixSocketConsumer. That makes Bluetooth*Manager
be able to have more than 1 Bluetooth connections at a time with different
remote devices.
2013-02-26 11:16:36 +08:00
Kyle Machulis
d7f9476df4 Bug 855453 - Move UnixSocket connect delay to main thread cancelable task; r=mrbkap
--HG--
extra : rebase_source : 1df9805896c85f0a97d42b74334a62b7b9baab68
2013-04-01 17:26:25 -07:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Vicamo Yang
06c70a5f97 Bug 854904: fix undefined sockaddr_in, sockaddr_in6. r=qDot 2013-03-27 20:53:24 +08:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Kyle Machulis
474fc0a81e Bug 843868: Change sockaddr* to be a union of all possible sockaddr types; r=tzimmermann
--HG--
extra : rebase_source : 455aeb8c49bec2477a5ffea839a0ac3fe09434f7
2013-03-19 10:23:47 -07:00
Eric Chou
211f1afa9e Bug 851563 - Fix memory leak in UnixSocketConsumer, r=qdot 2013-03-17 23:39:08 -07:00
Phil Ringnalda
23bacd7773 Back out b21345c5027c (bug 843868) for build bustage
CLOSED TREE
2013-03-15 21:35:25 -07:00
Kyle Machulis
dec533c10a Bug 843868 - Change sockaddr* to be a union of all possible sockaddr types; r=tzimmermann
--HG--
extra : rebase_source : 9b980684b37e2e3345414af494ddb22e6c710e52
2013-03-15 21:10:40 -07:00
Kyle Machulis
7eef9798c9 Bug 849078 - Change SetNonblockFlags to SetSocketFlags; r=echou
--HG--
extra : rebase_source : 495444e95cb6fef3cdae4606879b2f2fba812c24
2013-03-08 14:40:26 -08:00
Blake Kaplan
4124568811 Bug 846615 - Remove some functionality that is no longer needed, r=bent 2013-03-08 15:03:03 +08:00
Blake Kaplan
1d9c597586 Bug 846615 - Re-implement UnixSocket's shutdown sequence to avoid running any code on deleted UnixSocketImpls, r=bent 2013-03-08 15:03:03 +08:00
Eric Chou
0d7af4211e Bug 841648 - Clear mIOLoop when the UnixSocketImpl instance changes its target file descriptor, f=tzimmerman, r=qdot 2013-03-02 12:11:01 +08:00
Gregory Szorc
c7bf7887f9 Bug 784841 - Part 18r: Convert /ipc; r=ted f=Ms2ger 2013-02-25 12:47:22 -08:00
Kyle Machulis
2fc57b1b3a Bug 840294: Check RIL validity before writing to socket; r=tzimmerman
--HG--
extra : rebase_source : 3fd48cad8cd3b06994972f420752c5676b2e68dc
2013-02-21 15:21:34 -08:00
Eric Chou
316cd7cb91 Bug 842434 - Ensure the flows of handling "socket disconnection" are the same, r=qdot
For "actively calling CloseSocket()" and "passively noticing the socket has been closed",
we want to ensure that the process of closing a socket are the same. Therefore I use a
runnable to call CloseSocket() on the main thread when it can't read from the socket.
2013-02-21 23:32:17 +08:00
Thomas Zimmermann
48d8b6a89f Bug 836523 - Cleanup UnixSocketImpl from within I/O thread. r=qdot, r=echou
When closing a socket from within the main thread, we need to make
sure that the I/O thread does not operate on the related instance of
UnixSocketImpl.

With this patch, the main thread posts a SocketCloseTask to the I/O
thread. The SocketCloseTask removes the socket from the I/O thread's
list of watched file descriptors and dispatches an instance of
DeleteInstanceRunnable for the socket's UnixSocketImpl, which cleans
up the data structures. These steps serialize the close operation
within the I/O thread, and ensure that the main thread processed all
other dispatched runnables that may use the UnixSocketImpl.
2013-02-12 09:16:45 -05:00
Thomas Zimmermann
3f0ed71307 Bug 836523 - Wait for incoming connections in UnixSocketImpl. r=qdot, r=echou
The UnixSocketImpl currently polls the socket file descriptor while
listening for incoming connections and schedules itself to run again
if no connection requests have been received.

This behavior interferes with closing the socket and deleting the
socket structure in the main thread. It can happen that the I/O thread
dispatches a SocketAcceptTask to poll the listening socket and the
main thread dispatches a DeleteInstanceRunnable for the UnixSocketImpl,
such that the delete operation gets dispatched before the poll
operation. The latter then operates on the just deleted UnixSocketImpl.

With this patch, the I/O thread watches the listing socket for incoming
connection requests and only attempts to run accept when connection
requests are pending. This allows to serialize polling and close
operations within the I/O thread in a sound order.

A side effect of this patch is that we don't constantly run code for
polling the listing socket, which should result in less CPU overhead
and save battery power.
2013-02-12 09:16:45 -05:00
Thomas Zimmermann
41c3e00ba0 Bug 836523 - Protect mCurrentTaskIsCanceled by lock. r=qdot, r=echou
The main thread and the I/O thread concurrently access the field
mCurrentTaskIsCanceled in UnixSocketImpl. Protect it by a lock.
2013-02-12 09:16:45 -05:00
Daniel Holbert
313b559876 Bug 838840: Mark ipc/unixsocket as FAIL_ON_WARNINGS. r=qDot 2013-02-06 16:39:36 -08:00
Daniel Holbert
6ca33d6109 Bug 838756: Fix out-of-order init list for UnixSocketImpl constructor. r=qDot 2013-02-06 12:44:04 -08:00
Vicamo Yang
bab7d11b10 Bug 826931 - Part 2/3: UnixSocket - allow delayed connection. r=qDot 2013-02-01 20:28:18 +08:00
Vicamo Yang
3bf0d2e152 Bug 826931 - Part 1/3: UnixSocket - allow ownership take-over in ReceiveSocketData(). r=qDot,echou 2013-02-01 20:28:15 +08:00
Eric Chou
016d8b06f6 Bug 836107 - Initialize mTask, a member variable of UnixSocketImpl, with nullptr, r=qdot 2013-01-31 22:43:45 +08:00
Benoit Jacob
23cb9e5f40 Bug 835920 - UnixSocket and Ril mis-interpret read() returning 0 as failure and enter infinite reconnect loop - r=kyle.machulis 2013-01-30 15:13:10 -05:00
Thomas Zimmermann
91e69fce4d Bug 830704: Delete UnixSocketImpl instance after SocketReceiveTasks completed [r=qdot]
The Bluetooth system internally uses UnixSocketImpl when transfering
files. When Bluetooth gets disabled during a file transfer, the IPC code
deletes any related instance of UnixSocketImpl. This can happen before all
pending SocketReceiveTasks have been processed by the main thread. The
implementation of SocketReceiveTask uses a reference to the instance of
UnixSocketImpl that has just deen disabled. This results in a segmantation
fault.

This patch fixes the problem by scheduling the delete operation for
UnixSocketImpl to be executed after any pending SocketReceiveTasks.
2013-01-16 10:21:49 +08:00
Kyle Machulis
e6a69d942f Bug 811683 - Changed UnixSocketRawData to take variable sizes up to 64k, r=cjones 2012-12-20 18:36:55 +08:00