Commit graph

816 commits

Author SHA1 Message Date
Henry Castro
6b28433265 loolwsd: Log::warn when the thread pool is full.
When thread pool is full no more connections are accepted.
It is confused as a deadlock
2016-01-25 17:11:51 -04:00
Henry Castro
e3fd07ad0e loolwsd: remove unnecessary inter process mutex
It is no longer needed becuase loolbroker handle connections
2016-01-25 12:26:22 -04:00
Henry Castro
eb2675164f loolwsd: remove unnecessary child PID file log
This is no longer needed due to logging improvements
2016-01-25 11:51:27 -04:00
Henry Castro
1ff52f2e2c loolwsd: remove unnecessary Poco thread default pool 2016-01-25 11:45:50 -04:00
Miklos Vajna
1d6d0741f0 loolwsd: -Werror,-Wtautological-constant-out-of-range-compare 2016-01-25 13:08:37 +01:00
Ashod Nakashian
65e06c1db7 loolwsd: per ChildProcessSession callback queue and thread
By giving dedicated queue to each session we eliminate
the bottleneck that a slow client will introduce
on every other session on the same document.

Change-Id: I715b80a8cd7bbef1268dc472d0b32e35f3dd6444
Reviewed-on: https://gerrit.libreoffice.org/21763
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 23:57:54 +00:00
Ashod Nakashian
904bf929f1 loolwsd: throttle traffic for inactive sessions
Sessions that have been inactive for a certain duration,
currently set at 120 seconds, will not receive updates.

A new statistics class tracks the activity of every
session and blocks callback updates from reaching
inactive clients.

Change-Id: I64296488b2c0be0598b218ba89a6d02f057a5f7e
Reviewed-on: https://gerrit.libreoffice.org/21760
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:14:57 +00:00
Ashod Nakashian
11e8a9bb4f loolwsd: test improvements
Change-Id: Ieeef1019063636cef171cc360f523810f6f989d2
Reviewed-on: https://gerrit.libreoffice.org/21759
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:12:43 +00: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
f9fd4c917a loolwsd: refactored HTTP Request Handler
Change-Id: I84685910afa04664639ae674fd66ff888962387e
Reviewed-on: https://gerrit.libreoffice.org/21757
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:10:53 +00:00
Ashod Nakashian
b85b4423b0 loolwsd: break the wait on save-as queue and better failure handling
Change-Id: Ifee252b3c189ee0b1287bda891b38c5abddb7440
Reviewed-on: https://gerrit.libreoffice.org/21755
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:09:28 +00:00
Ashod Nakashian
9593ec5720 loolwsd: improved polling and pong with client
Change-Id: I17c4f7685d23b6e4c84a7f8b34fcb7dbcaf959f9
Reviewed-on: https://gerrit.libreoffice.org/21754
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:02:16 +00:00
Ashod Nakashian
2bb2e2aec1 loolwsd: protect against empty messages
Change-Id: Ic60c1abf85268c9ad629bc1f981e53688fc6267a
Reviewed-on: https://gerrit.libreoffice.org/21753
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 21:01:03 +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
4dc9fa7eb7 loolwsd: prevent deadlock when purging sessions
Change-Id: I293e28674ed721741fa0afc57b37a636833d2e0e
Reviewed-on: https://gerrit.libreoffice.org/21750
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-24 20:58:09 +00:00
Jan Holesovsky
0c509e17c1 loolwsd: Fix /convert-to to handle filenames containing spaces. 2016-01-21 23:30:52 +01:00
Ashod Nakashian
41da8f144e loolwsd: unload command added
Change-Id: I30c42e24aa38c676e4bc6c7e6a2715d9e72430b9
Reviewed-on: https://gerrit.libreoffice.org/21686
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:07:54 +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
d3fc5ac37b loolwsd: sockets are shutdown on disconnect
Change-Id: I1c00be4648cff94013ceab87fcb607b9bb921535
Reviewed-on: https://gerrit.libreoffice.org/21684
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:06:37 +00:00
Ashod Nakashian
dd374d8aec loolwsd: disconnect command to gracefully shutdown a socket
Change-Id: I8beb4c14fc95bdb2a98c7e5da44408511bce5e28
Reviewed-on: https://gerrit.libreoffice.org/21683
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:05:55 +00:00
Ashod Nakashian
d310d3f3f5 loolwsd: proper ping handling by echoing
Change-Id: Ifc66ae1bc15d588d4613d87ab0fa19ec389b7615
Reviewed-on: https://gerrit.libreoffice.org/21682
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:04:26 +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
291b0aac67 loolwsd: don't ignore the last few bytes of a closed socket
Change-Id: Id6332857e49ccbacfa6e63b87a1ed570e9598147
Reviewed-on: https://gerrit.libreoffice.org/21680
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 16:03:29 +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
8ec0efe8bc loolwsd: const correctness
Change-Id: Icf1e7d625f9217abf3abe5d9123347aa61e0a74c
Reviewed-on: https://gerrit.libreoffice.org/21687
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:59:15 +00:00
Ashod Nakashian
bccfd79d35 loolwsd: reset http request handler's thread name as it's reused
Change-Id: I62332e1d3018a7ff3cebe3982910792fa75d0c8f
Reviewed-on: https://gerrit.libreoffice.org/21676
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:45:30 +00:00
Ashod Nakashian
49d7c0e17f loolwsd: improved lokit callback notification dispatcher
Change-Id: I88abad83a3d06eb530200d921ef25b68465b82b6
Reviewed-on: https://gerrit.libreoffice.org/21675
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:45:00 +00:00
Ashod Nakashian
11f7746640 loolwsd: avoid reentering Poco::Log and deadlocking while handling signal
Change-Id: I3ee16ac32a337a9e1ff798495d45fb1359f4f063
Reviewed-on: https://gerrit.libreoffice.org/21674
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:44:38 +00:00
Ashod Nakashian
54d5138537 loolwsd: proper destruction of LibreOfficeKit instance
Change-Id: If39b0d534eb93044383766a51f26faac398c834e
Reviewed-on: https://gerrit.libreoffice.org/21673
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:44:03 +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
5270383baa loolwsd: removed extra period in warn and error logs
Change-Id: Ie7a42451009cfe9ffc7c3a0f91ff550b66e9158d
Reviewed-on: https://gerrit.libreoffice.org/21671
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:42:47 +00:00
Ashod Nakashian
8e8e7c70c2 loolwsd: cleanup and correction of child signal handling
Change-Id: I8739e71a2180c970ba4b8eb3b1d4721ecf4268e9
Reviewed-on: https://gerrit.libreoffice.org/21670
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-21 15:42:24 +00:00
Tomaž Vajngerl
21121e2f55 Support returning cached tiles for "tilecombine" 2016-01-20 23:04:41 +01:00
Pranav Kant
f429001ff9 loolwsd: Display version information on command line
Change-Id: Ie65c30574ca4cef619a224ec6df3501d6bda086a
Reviewed-on: https://gerrit.libreoffice.org/20847
Reviewed-by: jan iversen <jani@documentfoundation.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-01-19 16:36:00 +00:00
Miklos Vajna
c8ea8bcacd loolwsd: handle WS messages split into multiple frames 2016-01-18 16:54:22 +01:00
Miklos Vajna
a67d73ea57 loolwsd: HTML paste testcase
Fails without the previous commit.
2016-01-18 11:47:57 +01:00
Miklos Vajna
201c9fb590 loolwsd: handle 'nextmessage:' in master -> prisoner traffic
ToPrisoner already generated 'nextmessage:' when it was necessary, but
the other side did not handle that message type, since previously
(before multi-line paste) only the prisoner -> master direction needed
'nextmessage:' for tile data.
2016-01-18 11:47:57 +01:00
Miklos Vajna
3eeecacfb9 Document::_callbackQueue -> CallbackQueue
AFAICS this was the last member named not following the coding style.
2016-01-18 09:43:49 +01:00
Miklos Vajna
3cbdd9e3bd MasterProcessSession: capitalize static members 2016-01-18 09:43:49 +01:00
Miklos Vajna
93eccfad98 ChildProcessSession::_mutex -> Mutex
As it's a static member.
2016-01-18 09:43:49 +01:00
Miklos Vajna
9185012704 Log::StreamLogger: Stream -> _stream
As it's not a static member.
2016-01-18 09:43:49 +01:00
Miklos Vajna
1977f07d5c paste: handle data containing newlines
By changing the protocol, so that instead of "paste ... data=<data>",
the client is now expected to send "paste ...\n<data>".
2016-01-15 14:43:59 +01:00
Miklos Vajna
de7823744e loolwsd: fix naming style of LOOLWSD static members 2016-01-15 09:44:07 +01:00
Miklos Vajna
ec9cc2aecc loolwsd: adjust coding style to reality
E.g. it's DocumentURI::UriToDocumentURIMap, not
DocumentURI::_uriToDocumentURIMap.
2016-01-15 07:41:49 +01:00
Andras Timar
6b767bc5ee loolwsd: loolwsd-systemplate-setup: remove OS X support attempt 2016-01-14 18:15:15 +01:00
Andras Timar
3a53c864b4 loolwsd: loolwsd-systemplate-setup: add libpng* 2016-01-14 18:15:15 +01:00
Andras Timar
37f5132e9e loolwsd: loolwsd-systemplate-setup: remove redundancy 2016-01-14 18:15:15 +01: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
558dfd40e0 loolwsd: unloading of disconnected documents
Documents that do not have any client connections to
are unloaded.

Currently we do not check for saved state of the
document before unloading.

Change-Id: I0f4f2ec1a7ddb15262833fe3d4ab73af16a2a959
Reviewed-on: https://gerrit.libreoffice.org/21472
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:55:50 +00:00
Ashod Nakashian
5d07c46065 loolwsd: logging improvements
Error can supress printing errno and warning can
be asked to print it by setting a bool argument.

Formatting has been improved for readability.

Change-Id: I93d2808fbff4f6cacc583923905438ada7b8e90e
Reviewed-on: https://gerrit.libreoffice.org/21471
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:41:18 +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
3d803dd9b0 loolwsd: Document -> DocumentURI
Change-Id: I7e5989dbee368314a4db7c723439060f1064e844
Reviewed-on: https://gerrit.libreoffice.org/21469
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:39:43 +00:00
Ashod Nakashian
c2af36d0ef loolwsd: simplified Connection
Change-Id: Ia7ff0d4b636513ce1b08641bb6db85c97ee5c2f9
Reviewed-on: https://gerrit.libreoffice.org/21468
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-14 13:38:45 +00:00
Andras Timar
3ec262e01b loolwsd: add loolbroker, loolkit and loolmap to rpm 2016-01-14 13:45:33 +01:00
Andras Timar
7cf9cdd4c8 loolwsd: add QueueHandler.hpp to dist tarball 2016-01-14 13:43:54 +01:00
Andras Timar
207925266c loolwsd: add Rectangle.hpp to dist tarball
(cherry picked from commit 69222ace7a67ca8adc9a21a988436aad92883b51)
2016-01-14 13:19:48 +01:00
Tomaž Vajngerl
721cbbcbb3 Add "tilecombine" command to render more tiles in one call
When invalidating we need to rerender more tiles at once.
This change optimizes that with a new command which rerenders a
larger area once and then separates the rendered buffer into more
tiles. This generally decreases the invalidation time by 2-4 times
and in some cases (when invalidating images in document) up to 9
times.
2016-01-14 13:11:57 +01:00
Tomaž Vajngerl
9af47a69d3 add simple Rectangle struct implementation
(cherry picked from commit 5c25dd61cb6a27da47c6e3776024cd7d622082b8)
2016-01-14 13:11:57 +01:00
Tomaž Vajngerl
8ee6503469 add function to convert string to integer
(cherry picked from commit f7acce6f20bf362b741542d66e2879c1638bab7c)
2016-01-14 13:11:57 +01:00
Andras Timar
26d30c88de loolwsd: -Werror,-Wunused-variable 2016-01-14 12:40:59 +01:00
Tomaž Vajngerl
9071f7c9bc encode PNG from buffer at arbitrary buffer position
This commit add 2 methods to encode a buffer to PNG: the "old"
method which encodes the whole buffer to a PNG, and a new method
to encode a part of a buffer (sub image) to PNG. The first method
is only added for convenience.
2016-01-14 12:34:01 +01:00
Miklos Vajna
afed9b97f8 configure: use -Werror for C sources as well 2016-01-14 08:51:42 +01:00
Jan Holesovsky
d20eaa3014 loolwsd: More protection when inserting image. 2016-01-13 16:51:36 +01:00
Jan Holesovsky
b47fe0bd0b loolwsd: Fix inserting of images into files opened via http:// 2016-01-13 16:51:36 +01:00
Miklos Vajna
0c46431741 loolwsd: -Werror,-Wunused-variable 2016-01-13 14:34:01 +01:00
Jan Holesovsky
d51972c28d loolwsd: Don't cache empty partpagerectangles.
This is implemented only for Writer, so they are empty for Calc and Impress;
and yet they can confuse loleaflet terribly...
2016-01-12 14:57:24 +01:00
Miklos Vajna
50273a0bd2 configure: no need to link against PocoXML 2016-01-12 09:06:21 +01:00
Ashod Nakashian
6668dca7ac loolwsd: handle I/O error while destroying MasterProcessSession
Change-Id: I9618fb57bcb3cdb472d03abb6c49d649afbf25a5
Reviewed-on: https://gerrit.libreoffice.org/21379
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-12 04:35:16 +00:00
Ashod Nakashian
ecc35dcdb2 loolwsd: using recursive_mutex since callbacks invoke public functions
Change-Id: Iddcf342cf59c4bd534be52a4b4661bc630f07007
Reviewed-on: https://gerrit.libreoffice.org/21378
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-12 04:34:23 +00:00
Ashod Nakashian
37a4d8ec10 loolwsd: uniqueLock -> lock, lock() -> getLock()
Change-Id: I3ea58a1ee0f8c0d7a153b78a2a03104d07416760
Reviewed-on: https://gerrit.libreoffice.org/21377
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-12 04:33:42 +00:00
Miklos Vajna
b8ef0c8813 loolwsd: fix make check
After my commit 49b67cdc36b599f865d4a6de214d901861f27196 (tdf#96961 sw
Hide Whitespace: still show whitespace on the last page, 2016-01-08) in
core.git.
2016-01-11 11:24:20 +01:00
Miklos Vajna
d08b1ff7e2 loolwsd: -Werror=shadow 2016-01-11 11:17:36 +01:00
Miklos Vajna
1fbe0580e1 loolwsd: -Werror,-Wunused-private-field 2016-01-11 09:18:37 +01:00
Ashod Nakashian
55f857e17c loolwsd: Poco::Mutex -> std::mutex and callback locks on session
Change-Id: I9c7d16352110566e5fc31c280784ded30cd3a9be
Reviewed-on: https://gerrit.libreoffice.org/21333
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:12:11 +00:00
Ashod Nakashian
6f4336a1fc loolwsd: trap segv and bus when LOOL_DEBUG env is defined
Change-Id: I56b2c70cd910ff2628e020e494143b8f38c0bd36
Reviewed-on: https://gerrit.libreoffice.org/21332
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:11:07 +00:00
Ashod Nakashian
7e02316034 loolwsd: prevent the user from killing our window with ctrl+w
Change-Id: I77f004bc131ce5b469e76089efddd9e2e99ea526
Reviewed-on: https://gerrit.libreoffice.org/21331
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:10:42 +00:00
Ashod Nakashian
5130aa214d loolwsd: better locking in Document
Change-Id: Ia6cef55201f5505e703026a8461282b5fb79fd85
Reviewed-on: https://gerrit.libreoffice.org/21330
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:10:04 +00:00
Ashod Nakashian
f577e48f18 loolwsd: child Session ID in URI
Change-Id: Ide04425fe29d17dd2db1aea532de421b8f0e3669
Reviewed-on: https://gerrit.libreoffice.org/21329
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:09:34 +00:00
Ashod Nakashian
c83f3937d4 loolwsd: Document locks and view counters
Change-Id: I2bae3fd7136e5bb85276f5cad246497e51fbfdd0
Reviewed-on: https://gerrit.libreoffice.org/21328
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:09:07 +00:00
Ashod Nakashian
96c7fdd0f8 loolwsd: onUnload takes Session ID
Change-Id: I63dd21441a11981f09f6b4c2d36560094fc81f1f
Reviewed-on: https://gerrit.libreoffice.org/21327
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:08:32 +00:00
Ashod Nakashian
9b5a94b018 loolwsd: callbacks use shared_ptr to avoid race with destructors
Change-Id: I19e06850764c6dbd1cfcc15dcd9a64029ab4fc0c
Reviewed-on: https://gerrit.libreoffice.org/21326
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:07:30 +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
910b34de58 loolwsd: destroy ChildProcessSessions
Change-Id: I58e9f58047162e842e155b70284fe55a45af35c9
Reviewed-on: https://gerrit.libreoffice.org/21324
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:06:02 +00:00
Ashod Nakashian
cb772746d8 loolwsd: multiple documents load correctly now
Change-Id: I86adda24d5ea576aa17829f27b78cb02d0350a4b
Reviewed-on: https://gerrit.libreoffice.org/21323
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:05:36 +00:00
Ashod Nakashian
f613a5181e loolwsd: better handling of commandvalues
Change-Id: Ida459b42d9398baac85d1ecc19c19fb7f7ca90f0
Reviewed-on: https://gerrit.libreoffice.org/21322
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:04:54 +00:00
Ashod Nakashian
9523769e94 loolwsd: better callback handling and shutdown
Change-Id: Id9cc9f748d2dac3afb7d7d002062f8c423bce775
Reviewed-on: https://gerrit.libreoffice.org/21321
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:04:27 +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
Ashod Nakashian
b3d06869f5 loolwsd: centralized document loading in Document
Change-Id: I1ff7e0a53cc415958e46aea74c775d7f265b8b8e
Reviewed-on: https://gerrit.libreoffice.org/21319
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:03:38 +00:00
Ashod Nakashian
2e34e2c8cf loolwsd: public -> private
Change-Id: Ibd662a17389d4a77bc31b84a50bc7a2e3b48bde0
Reviewed-on: https://gerrit.libreoffice.org/21318
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:02:55 +00:00
Ashod Nakashian
efb1fecbf1 loolwsd: control multiview api via env
Change-Id: Ic385188a4d57e10a260827709d4666857fd8aae5
Reviewed-on: https://gerrit.libreoffice.org/21317
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 04:02:05 +00:00
Ashod Nakashian
a66a12004d loolwsd: better handling of multiple connections
Change-Id: I3acd9810b63426ea4b811bf2f4f4341ba70e4ba0
Reviewed-on: https://gerrit.libreoffice.org/21316
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 03:57:58 +00:00
Ashod Nakashian
4b028e1506 loolwsd: localized lokit lock and other cleanups
Change-Id: I16453924d90ab22e57f8b6a3bbb937fef853ea2c
Reviewed-on: https://gerrit.libreoffice.org/21315
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-11 03:57:18 +00:00
Henry Castro
f3c8ace597 loolwsd: request abnormal termination 2016-01-09 12:26:04 -04:00
Henry Castro
d20e9399fc loolwsd: revert, refactor lokit Document
I did not consider shared document case.
2016-01-09 07:27:57 -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
Andras Timar
dc23d5f91e loolwsd: deb rules: fix build of tests, and do not run tests 2016-01-08 22:42:56 +01:00
Henry Castro
82b3b25d0a loolwsd: refactor lokit Document
+ Every lokit process acquire an unique URL document to open it
+ Every lokit process acquired with an URL document could open multiple view of the same URL document
+ Every lokit process acquire a new unique URL document if and only if no exists opened documents.
+ if a lokit process dies is an abnormal state, and it should take actions to recovery session document.
+ An initial lokit process with no acquire URL document is in waiting state.
2016-01-08 10:37:48 -04:00