Commit graph

55 commits

Author SHA1 Message Date
Ashod Nakashian
49ae5b5943 loolwsd: encapsulate child processes in a single object
Change-Id: I2f382c4c2c224d42359e11929423866e41f88526
Reviewed-on: https://gerrit.libreoffice.org/21930
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-30 15:40:50 +00:00
Henry Castro
aad79ea3c5 loolwsd: ensure response PID child 2016-01-26 23:28:42 -04:00
Henry Castro
faf2a57d19 loolwsd: eof broker pipe 2016-01-26 21:22:07 -04:00
Miklos Vajna
1d6d0741f0 loolwsd: -Werror,-Wtautological-constant-out-of-range-compare 2016-01-25 13:08:37 +01:00
Ashod Nakashian
75ede04cd7 loolwsd: improved child forking
Change-Id: Ic05b412bb9c467659c24cba12f385ed9c0c67b84
Reviewed-on: https://gerrit.libreoffice.org/21758
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:11:54 +00:00
Ashod Nakashian
55f2105f00 loolwsd: logging improvements
Change-Id: I77844a2b549c1f497c2d44f054169bf11d9227d8
Reviewed-on: https://gerrit.libreoffice.org/21752
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:00:34 +00:00
Ashod Nakashian
ef2ec0b2e2 loolwsd: fixes to broker threading and communication
Broker cache clean up is now done only during searching
as there we loop over processes and request status
from each child.

Internal helpers simplified and termination is done
in a single removeChild helper.

Change-Id: I31f7df5429f0737d352842d5c0f6a02b91b8078f
Reviewed-on: https://gerrit.libreoffice.org/21751
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 20:59:40 +00:00
Ashod Nakashian
a882ed1aa1 loolwsd: thread safety fixes in broker
Change-Id: Ibfff184ad294c14d6583f7a8282edc4e2742ad52
Reviewed-on: https://gerrit.libreoffice.org/21685
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:07:02 +00:00
Ashod Nakashian
23ca0f0d77 loolwsd: detect child termination by signal as well as exit
Change-Id: Ic4dc89a7ad1470cc7afbd763b904b617b36e62aa
Reviewed-on: https://gerrit.libreoffice.org/21681
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:03:53 +00:00
Ashod Nakashian
d2bde985cc loolwsd: poll timeout of 500ms and handling priority events
Change-Id: Iadf449ee62700e1ac5da2be8c73c674657633808
Reviewed-on: https://gerrit.libreoffice.org/21679
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:02:04 +00:00
Ashod Nakashian
6b24eb7bba loolwsd: PIPE_BUFFER -> READ_BUFFER_SIZE = 2048
Change-Id: I12e9725549a15b2cb1c287db9de0fca732dafac2
Reviewed-on: https://gerrit.libreoffice.org/21678
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:59:47 +00:00
Ashod Nakashian
ad7509d449 loolwsd: writeFIFO overload to take std::string
Change-Id: Ibfac97d1d4f101a10bd0f696b8b89a22170b1b11
Reviewed-on: https://gerrit.libreoffice.org/21672
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:43:11 +00:00
Ashod Nakashian
0632da5edb loolwsd: reworked child management and load balancing in broker
Change-Id: I92874d1aeb8fe46f3bbc1cb9d3b2b9d46632f4b9
Reviewed-on: https://gerrit.libreoffice.org/21473
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:56:40 +00:00
Ashod Nakashian
bdd3f73bd5 loolwsd: misc child cleanup
Change-Id: I5ed100e053925264db2cb8f60de67cf6a536a65b
Reviewed-on: https://gerrit.libreoffice.org/21470
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:40:40 +00:00
Ashod Nakashian
5bf75f56ca loolwsd: centralized signal handling and eased debugging
Change-Id: Ifdb3e2bca540bec3c6dea1ab24173c8ea0267706
Reviewed-on: https://gerrit.libreoffice.org/21325
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:06:56 +00:00
Ashod Nakashian
b2b983476c loolwsd: more informative warnings
Change-Id: I8dba6d003bd5c0b3c16b3cd57c3737638ce56bd1
Reviewed-on: https://gerrit.libreoffice.org/21320
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:04:02 +00:00
Henry Castro
f3c8ace597 loolwsd: request abnormal termination 2016-01-09 12:26:04 -04:00
Henry Castro
f3735f145f loolwsd: force kills a child with abnormal state. 2016-01-08 23:34:34 -04:00
Henry Castro
584e68e6d1 loolwsd: remove expired session URL cached 2016-01-08 19:05:58 -04:00
Henry Castro
b213464b3d loolwsd: ensure unique URL per lokit process 2016-01-07 14:55:11 -04:00
Ashod Nakashian
0b5bc5f244 loolwsd: random jailId dir created by WSD and renamed childId -> jailId
Change-Id: Ib5ce65c578c0c7fd3dbf81628906cd17728fb3ff
Reviewed-on: https://gerrit.libreoffice.org/21182
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-07 05:56:01 +00:00
Ashod Nakashian
9285f50c6b loolwsd: kit instance forkCounter now atomic
Change-Id: I04470220b83940319ff1a0fee865201433f44016
Reviewed-on: https://gerrit.libreoffice.org/21167
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-06 17:04:42 +00:00
Andras Timar
faa1fa47c7 loowsd: typo: falied -> failed 2016-01-06 11:11:23 +01:00
Andras Timar
e41e25a18c loolwsd: bccu#1397 fix dlopening LO in loolbroker in mergedlibs case 2016-01-06 10:38:09 +01:00
Henry Castro
fe3b4fc9a4 loolwsd: when no available child sessions, pre spawns more children 2016-01-05 08:51:05 -04:00
Ashod Nakashian
99500542b9 loolwsd: new kit processes created and improved search
Change-Id: Ife2075f6e06febc8bd95eb5d9c0774fd48fbdc8c
Reviewed-on: https://gerrit.libreoffice.org/21099
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:14:59 +00:00
Ashod Nakashian
fa2eccacfa loolwsd: fix page sharing between broker and lokit (aka forking)
Change-Id: I870d0291925e718e038f42b21d00ea744133db01
Reviewed-on: https://gerrit.libreoffice.org/21098
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:14:28 +00:00
Ashod Nakashian
2104712b72 loolwsd: exception handling in wsd queue handler
Change-Id: I66f1990a20151c67346922273a98ecc5a91dc58f
Reviewed-on: https://gerrit.libreoffice.org/21096
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:13:11 +00:00
Ashod Nakashian
75c65af930 loolwsd: childId is now string
Change-Id: I7037c03d2b40ff88deed0619e8a34ce5434913a3
Reviewed-on: https://gerrit.libreoffice.org/21095
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:12:42 +00:00
Ashod Nakashian
53bff1f1ca loolwsd: fused setting the url and loading a document
Change-Id: Ia85fa5e5550c7cc8479e4a368cadc77198a30191
Reviewed-on: https://gerrit.libreoffice.org/21094
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 01:04:08 +00:00
Ashod Nakashian
1746094fcd loolwsd: log the thread name where available
Change-Id: If40b2d3a72f3e00e8c3bf27fe60c6d63a71df267
Reviewed-on: https://gerrit.libreoffice.org/21062
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:19:12 +00:00
Ashod Nakashian
f48d61d25d loolwsd: dropCapability moved to Capabilities.hpp
Change-Id: Id84d485b446040df1d5398341af2b0e8f300ed63
Reviewed-on: https://gerrit.libreoffice.org/21060
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-03 15:17:05 +00:00
Henry Castro
cc1861a6a8 loolwsd: define a constant pipe buffer size 2015-12-30 21:01:07 -04:00
Henry Castro
33a7f6adbb loolwsd: close pipes 2015-12-29 20:59:17 -04:00
Henry Castro
f947b64483 loolwsd: renamed prefix "lool" process
We use prefix loolwsd, loolbroker and loolkit to easy grep process search.
Also, run_lok_main is not a thread, it is main loop process.
2015-12-29 00:39:25 -04:00
Henry Castro
db1d1ff935 loolwsd: loolkit handle signals 2015-12-28 23:18:49 -04:00
Ashod Nakashian
9e9e2f60ef loolwsd: broker handles sigint and wsd removes childroot
Change-Id: Ie408bff7944ff0b9abfa8433b1e8ea6f62a9ab2c
Reviewed-on: https://gerrit.libreoffice.org/20999
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 23:39:13 +00:00
Ashod Nakashian
cf972fbed2 loolwsd: use full path when spawning loolkit
Change-Id: I9875fb7fbbc67915ed62785a3f3d1298a355f0a5
Reviewed-on: https://gerrit.libreoffice.org/20998
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 23:38:25 +00:00
Ashod Nakashian
88b76fe9d4 loolwsd: removed dead code
Variables and options lingering from previous iterations removed.
Standardizing static member names.
Header inclusion cleanups.

Change-Id: I65182ad4d100e0077f1b450be50cf95d7b8f0fc7
Reviewed-on: https://gerrit.libreoffice.org/20997
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 23:36:55 +00:00
Henry Castro
d185f738ee loolwsd: revert, remove unnecessary local buffer 2015-12-28 18:24:59 -04:00
Henry Castro
12771ec02d loolwsd: remove unnecessary local buffer 2015-12-28 17:51:38 -04:00
Henry Castro
0d1be4fe82 loolwsd: cleanup unnecessary LOOLWSD code 2015-12-28 12:29:54 -04:00
Ashod Nakashian
5780e311b7 loolwsd: childId type int -> string
Change-Id: I2aad12da4bb8e7d87866d251258fb44e2aad9a2b
Reviewed-on: https://gerrit.libreoffice.org/20980
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:12:57 +00:00
Ashod Nakashian
b2d124af93 loolwsd: proper handling of non-default client port number
Change-Id: I388f0ce0252c5f7889e77c4d85b4cf21d4a222b6
Reviewed-on: https://gerrit.libreoffice.org/20979
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:12:15 +00:00
Ashod Nakashian
d273057488 loolwsd: moved config values into common header
Change-Id: Ib88379e453f207a6a5e6223045a393c769082be4
Reviewed-on: https://gerrit.libreoffice.org/20978
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:09:50 +00:00
Ashod Nakashian
fe0c11333f loolwsd: thread lifecycle markers
Change-Id: I704e37e797224c9dbd024fcab3d8e917584be152
Reviewed-on: https://gerrit.libreoffice.org/20975
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:07:37 +00:00
Ashod Nakashian
e8e8e6c844 loolwsd: detect broken pipe
Change-Id: If1f40833e26c9ff281f33cc5d7c798fc0f9f3239
Reviewed-on: https://gerrit.libreoffice.org/20973
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-28 04:06:34 +00:00
Ashod Nakashian
3bd8361c89 loolwsd: more cleanups and logging
Change-Id: I23859849af2d7a3411bd4df57916b4166a17c3b5
Reviewed-on: https://gerrit.libreoffice.org/20946
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:57:47 +00:00
Ashod Nakashian
7053091c0e loolwsd: support for views
Change-Id: I9447d97612589efd0e85e30977b80ab720b81702
Reviewed-on: https://gerrit.libreoffice.org/20945
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-26 03:57:21 +00:00
Ashod Nakashian
da23160ed1 loolwsd: misc cleanups
Change-Id: I85cdd017ef5b483d34a2aa7e7a2b0c112cbf6e00
Reviewed-on: https://gerrit.libreoffice.org/20933
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2015-12-25 03:33:03 +00:00