Hwankyu Jhun [Thu, 16 Sep 2021 01:32:51 +0000 (10:32 +0900)]
Release version 1.12.2
Changes:
- Fix locking the mutex of the Port class
- Remove GDBus dependency from rpc-port library
Change-Id: I87b75981d8ee402207189bf28ebeab4cb77ecf8d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 16 Sep 2021 00:19:52 +0000 (09:19 +0900)]
Fix locking the mutex of the Port class
To reduce the interval of locking the mutex, the mutex lock in the Read() method
ie separated using braces. And, the mutex lock is added to the Disconnect() method.
Change-Id: I60657385bc73cb988de0f53433bb1d22a21dad74
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 14 Sep 2021 10:14:36 +0000 (19:14 +0900)]
Remove GDBus dependency from rpc-port library
The rpc-port was used the GDBusConnection to notify the presence of debug port.
After this patch is applied, the rpc-port library doesn't use the GDBusConnection.
The thread of the debug-port tries to connect to the debug port of the tool
automatically if it's not connected.
Change-Id: Ife29d7960360e9da21819b16993d406750a4d990
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 13 Sep 2021 08:46:30 +0000 (17:46 +0900)]
Release version 1.12.1
Changes:
- Fix Disconnect() method of Port
- Fix rpc_port_read() function
Change-Id: I6132825793cf726538d92bb4cef22fadba0081db
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
HwanKyu Jhun [Mon, 13 Sep 2021 08:15:56 +0000 (08:15 +0000)]
Merge "Fix rpc_port_read() function" into tizen
Hwankyu Jhun [Mon, 13 Sep 2021 07:51:35 +0000 (16:51 +0900)]
Fix rpc_port_read() function
Currently, calling Read() is failed, the port will be disconnected.
The header of the parcel is added to check the procotol validation.
This patch removes to call Disconnect() method when the Read() is failed.
Change-Id: I070d9e361917a0bee6a0cd2f673f7157306af8cb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 13 Sep 2021 07:14:05 +0000 (16:14 +0900)]
Fix Disconnect() method of Port
Before closing the file descriptor, the method calls IgnoreIOEvent() to
release the GSource.
Change-Id: I8e7c91de98e1db838def468564ca98117d1985eb
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 10 Sep 2021 07:13:42 +0000 (16:13 +0900)]
Release version 1.12.0
Changes:
- Add new parcel functions
Change-Id: Ic756474c95503bd0860141ac738e0ffe14db2719
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 27 Aug 2021 11:24:37 +0000 (20:24 +0900)]
Add new parcel functions
Adds:
- rpc_port_parcel_get_raw()
- rpc_port_parcel_create_from_raw()
Change-Id: I1568112a40405e5fbaef3c47a46fc2a23bf68fa6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 8 Sep 2021 00:12:32 +0000 (09:12 +0900)]
Release version 1.11.3
Changes:
- Add port message sending thread
Change-Id: I741ae6c91cf459a2bf404c98c89e65a6ee87e1ca
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Tue, 7 Sep 2021 07:06:32 +0000 (07:06 +0000)]
Merge "Release version 1.11.2" into tizen
Changgyu Choi [Tue, 7 Sep 2021 07:01:45 +0000 (16:01 +0900)]
Release version 1.11.2
Changes:
- Add port message sending thread
Change-Id: If48b0b8840e444a9d0f5c1032214a131cca29767
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Tue, 7 Sep 2021 06:59:36 +0000 (06:59 +0000)]
Merge "Add port message sending thread" into tizen
Changgyu Choi [Tue, 31 Aug 2021 08:52:53 +0000 (17:52 +0900)]
Add port message sending thread
Change-Id: I548ce7bf15613e32cf15397b8fe388efd07252f0
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 1 Sep 2021 04:27:18 +0000 (13:27 +0900)]
Release version 1.11.2
Changes:
- Fix svace static issues
Change-Id: I65b2c01103b73d2c538f3bdde482d488b66a42f8
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 1 Sep 2021 03:12:45 +0000 (12:12 +0900)]
Fix svace static issues
Change-Id: I3df266e8160fdd3c80ea74d2feabeb3e0dc494e4
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Tue, 24 Aug 2021 01:58:20 +0000 (10:58 +0900)]
Release version 1.11.1
Changes:
- Check current thread ID to destroy handle
Change-Id: I2bb288fd2f3bdb4cee4a7570aed818fe20366047
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 23 Aug 2021 22:44:16 +0000 (07:44 +0900)]
Check current thread ID to destroy handle
If the current thread ID is equal to the process ID,
the destroy functions destroy the handle immediately.
If it's not, the rpc-port uses glib idler to destroy the handle
in the main thread.
Change-Id: Iefe8f19a3ad1face2e59046f33e9dc28e2042522
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Mon, 23 Aug 2021 00:16:56 +0000 (09:16 +0900)]
Release version 1.11.0
Changes:
- Add new parcel header APIs
Change-Id: I21a4180c2035c0ebf1fd2201949d0b8c4ccf9316
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 18 Aug 2021 02:17:00 +0000 (11:17 +0900)]
Add new parcel header APIs
Adds:
- rpc_port_parcel_header_set_tag()
- rpc_port_parcel_header_get_tag()
Change-Id: I9f8c3d906ba38a66433f49fe32190db7d5d7757b
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Thu, 19 Aug 2021 08:40:26 +0000 (17:40 +0900)]
Release version 1.10.2
Changes:
- Make thread safe codes
- Fix some types
- Fix some rpc-port-parcel API's description
- Change num type to unsigned
- Add missing method call
Change-Id: I7ed22d0d895fa293d454418c926c38b0d9a150e4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 19 Aug 2021 08:25:09 +0000 (17:25 +0900)]
Add missing method call
When the Timedout callback function is invoked, the Cancel() method has
to be called to remove monitoring the port.
Change-Id: Ie78a890a9e394552b84c68c19e4d9cfb852f7bd3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Wed, 18 Aug 2021 07:32:35 +0000 (16:32 +0900)]
Change num type to unsigned
Change-Id: Ia250c2ed687f796c8ab1865f900ea3054cd0bc8a
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 18 Aug 2021 05:16:18 +0000 (14:16 +0900)]
Fix some rpc-port-parcel API's description
Change-Id: I113827fbdbee8361bf6d82556c33524c28be861b
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 18 Aug 2021 02:54:52 +0000 (02:54 +0000)]
Merge "Fix some types" into tizen
Changgyu Choi [Wed, 18 Aug 2021 02:46:51 +0000 (11:46 +0900)]
Fix some types
Change-Id: I2a516191a72c098b8e9f89751a124c38052d66eb
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Tue, 17 Aug 2021 04:07:53 +0000 (13:07 +0900)]
Make thread safe codes
The rpc_port_stub_h handle destroys in the main thread. The rpc-port
releases the handle using g_idle_add_full(). Before, the idler is added,
the Ignore() method is called to set nullptr to the event listener.
While calling the callback function, the rpc-port checks whether
the event listener is nullptr or not. If it's nullptr, the callback function
will be returned immediately.
Change-Id: I7728552c38173c548c07ce52c1339c6da9c4b29b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 17 Aug 2021 07:47:31 +0000 (16:47 +0900)]
Release version 1.10.1
Changes:
- Use INT_MAX instead of custom variable
- Fix a bug about ReadParcelable Impl
Change-Id: I0100382e69183b2b8d95648358ac81c934123dee
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 17 Aug 2021 02:06:23 +0000 (11:06 +0900)]
Fix a bug about ReadParcelable Impl
In 32-bit machine, the long size is 4 bytes. When calling the
ReadInt64() with timespec.tv_nsec. the buffer overflow is occurred.
Change-Id: Id5bcb26891c63b893b20d50e7dab4c38dbaea14b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 17 Aug 2021 02:04:25 +0000 (11:04 +0900)]
Use INT_MAX instead of custom variable
Change-Id: I9ec72a5c9591ffbfc91b9f6203fc1bf70eeb4087
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Fri, 13 Aug 2021 06:06:13 +0000 (15:06 +0900)]
Release version 1.10.0
Changes:
- Add the header handle of the parcel
- Add disconnect API
Change-Id: Iee2dddd83ee7a25018a1d6130f6a58c8a7962512
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Thu, 5 Aug 2021 04:37:59 +0000 (13:37 +0900)]
Add disconnect API
Adds:
- rpc_port_disconnect()
Change-Id: I189f0ef05a0ae63c9f8258f17e741eeba8fc96a2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Fri, 21 May 2021 04:06:27 +0000 (13:06 +0900)]
Add the header handle of the parcel
Adds:
- rpc_port_parcel_get_header()
- rpc_port_parcel_header_set_seq_num()
- rpc_port_parcel_header_get_seq_num()
- rpc_port_parcel_header_get_timestamp()
Change-Id: I4049532b2c6a92e657861dbfc1dbe66a895081d1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 13 Aug 2021 02:06:47 +0000 (11:06 +0900)]
Release version 1.9.4
Changes:
- Fix deadlock issue
- Fix coding style
Change-Id: Id585a76b59363c92c380480bd82302cbc57efbb6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Thu, 12 Aug 2021 01:03:16 +0000 (10:03 +0900)]
Fix coding style
Change-Id: I77493692e72af5b2d4af5ca1113ef3f04f608de5
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Thu, 12 Aug 2021 06:06:38 +0000 (15:06 +0900)]
Fix deadlock issue
When the rpc_port_proxy_connect() is called in the sub thread,
the port appeared event can be received in the main thread.
In this case, the process can be a deadlock state as below:
+------------------------------------------------------------------------------+
| -- #0 0xb5d3e6c8 in __lll_lock_wait () from /usr/lib/libpthread-2.30.so |
| -- #1 0xb5d35de4 in __pthread_mutex_lock () from /usr/lib/libpthread-2.30.so|
| -- #2 0xa63ee315 in _ZN8rpc_port8internal5Proxy14OnPortAppearedEPKcS3_iPv ()|
| from /usr/lib/librpc-port.so.1.9.3 |
| -- #3 0xb5f69721 in _ZN12_GLOBAL__N_19WatchInfo8AppComCbEPKc20aul_app_com_re|
| sult_eP9_bundle_tPv () from /usr/lib/libaul.so.0.38.0 |
| -- #4 0xb5f74d2d in app_com_recv () from /usr/lib/libaul.so.0.38.0 |
| -- #5 0xb5f74fe7 in __dispatch_request () from /usr/lib/libaul.so.0.38.0 |
| -- #6 0xb5b10fb3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.|
0.6200.3 |
| -- #7 0xb58a01a9 in _ecore_glib_select.lto_priv.0 () from /usr/lib/libecore.|
| so.1.25.1 |
| -- #8 0xb589f037 in _ecore_main_select () from /usr/lib/libecore.so.1.25.1 |
| -- #9 0xb589f8c7 in _ecore_main_loop_iterate_internal () from /usr/lib/libec|
| ore.so.1.25.1 |
| -- [pthread wait detected] pthread_mutex_lock/pthread_join owner tid:1412 |
+------------------------------------------------------------------------------+
| -- [User Backtrace] [Thread state:S (sleeping), Frozen:No] |
| -- Pid: 683, Tid: 1412, comm: Parallel[0] exec_start[69.
429195162] |
| -- #0 0xb5d3e6c8 in __lll_lock_wait () from /usr/lib/libpthread-2.30.so |
| -- #1 0xb5d35de4 in __pthread_mutex_lock () from /usr/lib/libpthread-2.30.so|
| -- #2 0xb5f789b5 in aul_app_com_leave () from /usr/lib/libaul.so.0.38.0 |
| -- #3 0xb5f6d197 in aul_rpc_port_remove_watch () from /usr/lib/libaul.so.0.3|
| 8.0 |
| -- #4 0xa63ec503 in _ZN8rpc_port8internal5Proxy6CancelEv () from /usr/lib/li|
| brpc-port.so.1.9.3 |
| -- #5 0xa63ee329 in _ZN8rpc_port8internal5Proxy14OnPortAppearedEPKcS3_iPv ()|
| from /usr/lib/librpc-port.so.1.9.3 |
| -- #6 0xa63ee45b in _ZN8rpc_port8internal5Proxy5WatchEv () from /usr/lib/lib|
| rpc-port.so.1.9.3 |
| -- #7 0xa63ee58f in _ZN8rpc_port8internal5Proxy7ConnectENSt7__cxx1112basic_s|
| tringIcSt11char_traitsIcESaIcEEES7_PNS1_14IEventListener|
| E () from /usr/lib/librpc-port.so.1.9.3 |
| -- #8 0xa63efd51 in rpc_port_proxy_connect () from /usr/lib/librpc-port.so.1|
| .9.3 |
+------------------------------------------------------------------------------+
This patch fixes the proxy handle management using the shared_ptr. And,
the port check is moved to the main thread to avoid the deadlock issue.
Change-Id: I8ef7f775491427e48eb5894c66dc1629d172a4d5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 6 Aug 2021 03:10:57 +0000 (12:10 +0900)]
Release version 1.9.3
Changes:
- Fix DebugPort Implementation
Change-Id: I98732667130139c3892762aa979960792964098d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 6 Aug 2021 01:43:14 +0000 (10:43 +0900)]
Fix DebugPort Implementation
If the instance is managed as a global variable, the process tries to
access to the destroyed DebugPort instance while calling the exit handlers.
Change-Id: Ia7cfa9d241266921221ecf28ce8b4b22dc4b95d6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Sun, 18 Jul 2021 23:15:55 +0000 (08:15 +0900)]
Release version 1.9.2
Changes:
- Fix static analysis issue
Change-Id: I6949c16038588f2e951602aa68e219d43a69d646
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Sun, 18 Jul 2021 23:08:20 +0000 (08:08 +0900)]
Fix static analysis issue
- Initialize private members to nullptr
Change-Id: I36ebc07223b157b207d2f7c4d4c61e21c21a9a92
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 15 Jul 2021 02:56:54 +0000 (11:56 +0900)]
Release version 1.9.1
Changes:
- Add a missing required library to pkgconfig
Change-Id: I687fbbb62380474e97ba55fe6501ec9159e888e6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 13 Jul 2021 23:16:41 +0000 (08:16 +0900)]
Add a missing required library to pkgconfig
Adds:
- bundle
Change-Id: I5cc6a806fae8cbe9dc8cf1fbb417bc17e79fbdf8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 12 Jul 2021 07:59:59 +0000 (16:59 +0900)]
Release version 1.9.0
Changes:
- Use Unix Domain Socket instead of Socket Pair
- Support Daemon Stub
Change-Id: Idcf5bc419ae588df37110018e28e3dade8eae896
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 1 Jul 2021 07:57:09 +0000 (16:57 +0900)]
Support Daemon Stub
This patch supports that the daemon process can be the stub.
The daemon or service process has to call the rpc_port_register_proc_info()
to set the process name. When the proxy tries to connect to the stub,
the rpc-port library calls the aul_proc_get_name() if calling the
aul_app_get_appid_bypid() is failed.
Change-Id: I133b04c6a0196420fcd6aeba52085cf73c10f4d3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 18 Jun 2021 09:38:55 +0000 (18:38 +0900)]
Use Unix Domain Socket instead of Socket Pair
To remove DBus dependency, the rpc-port uses Unix Domain Socket.
While calling aul_rpc_port_create(), AMD creates the file descriptor.
And then, AMD sends the fd to the stub. The stub uses the fd to manage
the connection.
Requires:
- https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/259865/
- https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/259971/
Change-Id: I6e80ac3469ecb1eeec29485e0ac3556fc895df0d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
jusung [Fri, 19 Mar 2021 04:33:01 +0000 (13:33 +0900)]
Release version 1.8.2
Changes:
- Fix memory leak
Signed-off-by: jusung <jusung07.son@samsung.com>
Change-Id: I974d991f2b21c78b14cbb57e249837f367e4bf1c
jusung [Fri, 19 Mar 2021 04:28:47 +0000 (13:28 +0900)]
Fix memory leak
Change-Id: I37ca69f7eb682a4c7a94614b462dff4e410df3f4
Signed-off-by: jusung <jusung07.son@samsung.com>
Hwankyu Jhun [Thu, 11 Mar 2021 08:07:53 +0000 (17:07 +0900)]
Release version 1.8.1
Changes:
- Fix rpc-port-parcel implementation related to bundle
Change-Id: I1df202fef2f0a491e6496f3dc00bf58f84ae4c65
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 11 Mar 2021 05:07:28 +0000 (14:07 +0900)]
Fix rpc-port-parcel implementation related to bundle
Parcel APIs related to Bundle API will be removed.
rpc_port_parcel_write_bundle() modifies to use use parcel_write_string()
instead of parcel_write_bundle(). rpc_port_parcel_read_bundle() modifies
to use parcel_read_string() instead of parcel_read_bundle().
Change-Id: Iad0b6e347bb72197ebeffd1a630862a5eb8ffbbc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 22 Feb 2021 02:54:40 +0000 (11:54 +0900)]
Release version 1.8.0
Changes:
- Fix Write() implemenation
- Support daemon proxy
Change-Id: If8b5fdcb1fa9b2f67161b1124b06d07849b72324
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 Feb 2021 04:36:46 +0000 (13:36 +0900)]
Support daemon proxy
After this patch is applied, daemons the services can be a proxy.
Change-Id: I47c60d923df74755c5ea0f1396964887fcbd8e85
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 Feb 2021 04:09:02 +0000 (13:09 +0900)]
Fix Write() implemenation
After queuing the message, rpc-port checks whether writing is now possible
or not.
Change-Id: I765a9b02f67755c2838fe81149d71817aa7f9763
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 13 Jan 2021 08:26:17 +0000 (17:26 +0900)]
Release version 1.7.8
Changes:
- Fix exception handling of OnReceivedResult()
Change-Id: I50a9e9929ae5d9976165722ba138e1b640e6d097
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 13 Jan 2021 00:36:46 +0000 (09:36 +0900)]
Fix exception handling of OnReceivedResult()
To get an error of gdbus properly, we have to use g_dbus_message_to_gerror().
Change-Id: Ic733e2c9d808668c456758f5ae2876c8543e6358
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Tue, 5 Jan 2021 01:54:00 +0000 (10:54 +0900)]
Release version 1.7.7
Changes:
- Fix invalid read
Change-Id: I0de6b187d3791b393ab1db65a1949c5eda90c52e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 4 Jan 2021 23:49:29 +0000 (08:49 +0900)]
Fix invalid read
If a stub handle is defined to a global variable, a process accesses to
the released DBusConnectionManager instance while calling the __run_exit_handlers().
The GDBusConnection instance is moved to the FdBroker object.
Change-Id: I6040a9737f5b23c644f91eccb330b6aba4104ac0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 24 Dec 2020 05:14:58 +0000 (14:14 +0900)]
Release version 1.7.6
Changes:
- Disconnect from a port
- Remove build warning message
Change-Id: I65420898e0b2e6e5b6f66e2def1a3e71d142b70d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 24 Dec 2020 05:14:18 +0000 (14:14 +0900)]
Remove build warning message
- Fixes invalid conversion
Change-Id: Id49cadc03a88b88efcf25452cc1b53f61a63f3e5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 16 Dec 2020 00:56:05 +0000 (09:56 +0900)]
Disconnect from a port
After this patch is applied, rpc-port closes the file descriptor when
Read() is failed.
Change-Id: I25c1a2878037a664c4bec8320f97bc1fafeef38b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 24 Dec 2020 02:51:48 +0000 (11:51 +0900)]
Release version 1.7.5
Changes:
- Refactor coding style
- Use tizen base parcel API
Change-Id: Ieeb814a916bce19b6fb83bac452394c97f5d7232
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 23 Dec 2020 23:05:03 +0000 (08:05 +0900)]
Use tizen base parcel API
The parcel implmentation is removed. Bacause, Parcel APi is added on
Bundle repository. We use tizen_base::Parcel API instread.
Requires:
- https://review.tizen.org/gerrit/#/c/platform/core/base/bundle/+/249500/
Change-Id: I996f43ca0cac9c68315aee45287e8a4316c36167
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Tue, 6 Oct 2020 06:29:33 +0000 (15:29 +0900)]
Refactor coding style
Change-Id: Icfc09b7ca2a7d28abcc8082effcefdedd2d9f130
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Fri, 18 Sep 2020 04:46:21 +0000 (13:46 +0900)]
Release version 1.7.4
Changes:
- Fix DisconnectPort() implementation
Change-Id: Ice7db6f122698b30636d140ea23cfd1ffa02e480
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 18 Sep 2020 04:38:47 +0000 (13:38 +0900)]
Fix DisconnectPort() implementation
This patch adds an exception handling to check whether the main port is
nullptr or NOT. If the main port ptr is already deleted, the proxy process
will have crashed.
Change-Id: I0f6a97b2fcdbc715fae61feafe8db551d4f01cd6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 18 Sep 2020 00:35:37 +0000 (09:35 +0900)]
Release version 1.7.3
Changes:
- Add exception handling about main port check
Change-Id: If1074ec46b271ea4290659cee7df913250e1a9a4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 17 Sep 2020 22:27:45 +0000 (07:27 +0900)]
Add exception handling about main port check
We should check whether the main port is deleted or not. While calling
rpc_port_proxy_destroy(), the main port is deleted.
When the disconnected event is delivered, the proxy app will have crashed
if it is accessing the fd getter.
This patch adds the exceptions to check whether the main port is nullptr or not.
Change-Id: Ib68f53616091e8079a1831e56504ad9a228df818
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Changgyu Choi [Wed, 2 Sep 2020 05:59:49 +0000 (14:59 +0900)]
Release version 1.7.2
Changes:
- Fix rpc_port_proxy_destroy() function
- Refactor "proxy-internal.cc"
Change-Id: I1753926257fb06cf12e4342452b90e145a69000e
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Changgyu Choi [Wed, 2 Sep 2020 05:28:00 +0000 (14:28 +0900)]
Refactor "proxy-internal.cc"
Change "get()->" to "->"
Change-Id: I48c896e83335b506a2d3838c863f9966c0771875
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
Hwankyu Jhun [Wed, 2 Sep 2020 03:23:15 +0000 (12:23 +0900)]
Fix rpc_port_proxy_destroy() function
rpc_port_proxy_destroy() calls DisconnectPort() method to disconnect main port.
Change-Id: Ia86611a4a6442805f94af335a699a105ad285f5e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 13 Aug 2020 00:28:24 +0000 (09:28 +0900)]
Release version 1.7.1
Changes:
- Use idler to destroy proxy handle
Change-Id: Ic6af58f865beb8847f6ab9f9440733aef34c4773
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 12 Aug 2020 23:01:52 +0000 (08:01 +0900)]
Use idler to destroy proxy handle
Currently, the application can call rpc_port_proxy_handle() in a sub
thread when the main thread is calling the callback function.
It causes the crash issue. To prevent that, this patch uses idler to
destroy handle in the main thread.
Change-Id: Ie3a79c94bb3e69dca8b8aaf4fe91fde1cb9d1f43
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 10 Aug 2020 06:31:15 +0000 (15:31 +0900)]
Release version 1.7.0
Changes:
- Move functions to rpc-port header file
Change-Id: Icb634b497608b9859391d4acc46b6d65214bcfa5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 30 Jul 2020 23:37:04 +0000 (08:37 +0900)]
Move functions to rpc-port header file
Moves:
- rpc_port_proxy_connect_sync()
- rpc_port_set_private_sharing_array()
- rpc_port_set_private_sharing()
- rpc_port_unset_private_sharing()
Change-Id: I162547b202376716fa35fb692bcc4faa61ada000
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Jusung Son [Mon, 20 Jul 2020 04:33:36 +0000 (13:33 +0900)]
Release version 1.6.1
Changes:
- Fix static analysis issue
Change-Id: Ifc014ec8c8462277fd0b4fec23e0acd82333e1fc
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
Jusung Son [Mon, 20 Jul 2020 01:19:55 +0000 (10:19 +0900)]
Fix static analysis issue
- TAINTED_INT.MIGHT
Change-Id: I548cd0919572d5924ff22581ec793c5b6642e855
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
Hwankyu Jhun [Tue, 14 Jul 2020 00:29:05 +0000 (09:29 +0900)]
Release version 1.6.0
Changes:
- Support alias appid
- Use defined macros to print logs
Change-Id: Ie85a9a47ba7e96345dd2e673a4ba1099de47d4b8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 13 Jul 2020 00:24:42 +0000 (09:24 +0900)]
Use defined macros to print logs
Change-Id: I449f2d35021890b73a6a5d6554a8968bb5aed57a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 10 Jul 2020 04:09:23 +0000 (13:09 +0900)]
Support alias appid
Before sending the request to connect to stub, proxy checks the real
appid using appid. If aul_svc_get_appid_by_alias_appid() returns
AUL_SVC_RET_OK, proxy uses it.
Change-Id: I8b379d0cf08f0779c5d9800c41d1e745dd9848f3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 8 Jul 2020 02:38:14 +0000 (11:38 +0900)]
Release version 1.5.2
Changes:
- Modify calling timer setting
Change-Id: Ie95899e04c1245d7c8346a8d6dd34c49165ffab5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 8 Jul 2020 01:57:44 +0000 (10:57 +0900)]
Modify calling timer setting
Change-Id: Ifab88c1521975314408c6a6c0bfbc9783c69a68d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 6 Jul 2020 00:51:15 +0000 (09:51 +0900)]
Release version 1.5.1
Changes:
- Fix wrong log format
Change-Id: Ia71533263ff56b63ff11995ac0ea91722c2146b0
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 6 Jul 2020 00:43:48 +0000 (09:43 +0900)]
Fix wrong log format
Change-Id: I743b1d7f986f677e9142ae4b214baf2a3b65d5f8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 6 Jul 2020 00:20:47 +0000 (09:20 +0900)]
Release version 1.5.0
Changes:
- Apply delayed message queue
- Remove FdBrokerManager
Change-Id: I10bf0a4440ce0956f55084a46a2b4062211cbbef
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 3 Jul 2020 04:06:30 +0000 (13:06 +0900)]
Remove FdBrokerManager
When __run_exit_handlers() is called, singleton instances are destroyed.
If the rpc_port_proxy_h is member of singleton instance, FdBrokerManager
is destroyed before rpc_port_proxy_h is destroyed.
After this patch is applied, FdBrokerManager is removed.
+----------------------------------------------------------------------+
| Invalid read of size 4 |
| at 0x5154B56: remove (list.tcc:334) |
| by 0x5154B56: rpc_port::internal::FdBrokerManager::Remove |
| (rpc_port::internal::FdBroker) (fdbroker-internal.cc:943) |
| by 0x51556C5: rpc_port::internal::FdBroker::~FdBroker() |
| (fdbroker-internal.cc:206) |
| by 0x515761D: rpc_port::internal::Proxy::~Proxy() |
| (new_allocator.h:110) |
| by 0x5158F4D: ~ProxyExt (list.tcc:70) |
| by 0x5158F4D: ~ProxyExt (rpc-port.cc:50) |
| by 0x5158F4D: rpc_port_proxy_destroy (rpc-port.cc:226) |
| Address 0x92967f0 is 8 bytes inside a block of size 12 free'd |
| at 0x4847528: operator delete(void) (vg_replace_malloc.c:576) |
| by 0x5153C31: deallocate (new_allocator.h:110) |
| by 0x5153C31: deallocate (alloc_traits.h:442) |
| by 0x5153C31: Mput_node (stl_list.h:387) |
| by 0x5153C31: Mclear (list.tcc:80) |
| by 0x5153C31: rpc_port::internal::FdBrokerManager::~FdBrokerManager|
| () (stl_list.h:442) |
| by 0x4F1C773: run_exit_handlers (exit.c:106) |
| by 0x4F1C89B: exit (exit.c:137) |
| by 0x4F052BF: (below main) (libc-start.c:323) |
| Block was alloc'd at |
| at 0x4846088: operator new(unsigned int) (vg_replace_malloc.c:328) |
| by 0x5154AE1: allocate (new_allocator.h:104) |
| by 0x5154AE1: allocate (alloc_traits.h:416) |
| by 0x5154AE1: Mget_node (stl_list.h:383) |
| by 0x5154AE1: Mcreate_node<rpc_port::internal::FdBroker* const&> |
| (stl_list.h:568) |
| by 0x5154AE1: Minsert<rpc_port::internal::FdBroker* const&> |
| (stl_list.h:1770) |
| by 0x5154AE1: push_back (stl_list.h:1098) |
| by 0x5154AE1: rpc_port::internal::FdBrokerManager::Add |
| (rpc_port::internal::FdBroker) (fdbroker-internal.cc:938) |
| by 0x5155437: rpc_port::internal::FdBroker::FdBroker(bool) |
| (fdbroker-internal.cc:202) |
| by 0x5158443: rpc_port::internal::Proxy::Proxy(bool) |
| (proxy-internal.cc:39) |
| by 0x5158DB3: rpc_port_proxy_create (rpc-port.cc:49) |
+----------------------------------------------------------------------+
Change-Id: I5cf7902e093f66d262691b76707e5c26b69f827f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Jusung Son [Mon, 29 Jun 2020 07:52:26 +0000 (16:52 +0900)]
Apply delayed message queue
Change-Id: I2f450be650e7cbf9ecb12404a79437ae0bfd765e
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
Jusung Son [Tue, 30 Jun 2020 05:08:35 +0000 (14:08 +0900)]
Release version 1.4.5
Changes:
- Fix wrong log messages
- Change the socket-related log level to debug
Change-Id: Ie6f731165eff6109490e3d9098e8494bbe46b52d
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
Jusung Son [Tue, 30 Jun 2020 05:02:43 +0000 (14:02 +0900)]
Change the socket-related log level to debug
Change-Id: I00716cb82b18a4a94a1cc06c15677f18b30fd326
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
Hwankyu Jhun [Mon, 22 Jun 2020 22:31:11 +0000 (07:31 +0900)]
Fix wrong log messages
Change-Id: I56aacaaf7f96cc6a370bfae7595d4c54c7a918a2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 22 Jun 2020 02:25:29 +0000 (11:25 +0900)]
Release version 1.4.4
Changes:
- Fix wrong implementation
- Move connection timer to FdBroker
Change-Id: I8f371395a7438e838dfaee6fd15a7a0153ca7d10
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 22 Jun 2020 00:44:26 +0000 (09:44 +0900)]
Move connection timer to FdBroker
To make the thread safe Proxy class, the connection timer is moved to
the FdBroker class.
Change-Id: I035a5947edac4224b2b096f31520c3aca3ed8862
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 Jun 2020 07:31:45 +0000 (16:31 +0900)]
Fix wrong implementation
The FdBroker ptr has to be removed when the FdBroker instance is removed.
The FdBroker.Cancel() method can be invoked from the Proxy instance directly.
The exceptions about the registration handle are added in the callback functions
related to gdbus.
Change-Id: Ieb96e393550e3cfa25d29cc4c97ae207cad1dba8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 Jun 2020 06:10:54 +0000 (15:10 +0900)]
Release version 1.4.3
Changes:
- Fix thread safe issue
Change-Id: I0d01bbf6666a3d972895502cd685835749fd2f5d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 19 Jun 2020 02:19:27 +0000 (11:19 +0900)]
Fix thread safe issue
To avoid thread safe issues, FdBrokerManager class is added.
While calling the callback functions, the FdBroker ptr is checked
whether the ptr is valid or not.
Change-Id: Ib7c10ec94d3dc5c2e2ae7389619a0ed0416657df
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 17 Jun 2020 00:56:08 +0000 (09:56 +0900)]
Release version 1.4.2
Changes:
- Add debugging logs
Change-Id: Ie095b09e7624fa3c47e9bb3b770c938493286668
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Mon, 15 Jun 2020 22:58:36 +0000 (07:58 +0900)]
Add debugging logs
Change-Id: I8e52a130112ef96cb474635f7bdf27a5f6b2e4f4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Fri, 12 Jun 2020 00:58:01 +0000 (09:58 +0900)]
Release version 1.4.1
Changes:
- Fix wrong dbuspolicy conf
Change-Id: Ibf2db31c52c4a8524c2083c7c45a5046cd0adee3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Thu, 11 Jun 2020 22:40:48 +0000 (07:40 +0900)]
Fix wrong dbuspolicy conf
Change-Id: Id18ec2988f053afeffcc9d6e30d35d7de5f6087b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 10 Jun 2020 10:02:27 +0000 (19:02 +0900)]
Release version 1.4.0
Changes:
- Add set_private_sharing_array API
- Add rpc-port-util tool
Change-Id: I23e7c521eaba8481abe8cdcb16c273cb3911aa08
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
Hwankyu Jhun [Wed, 3 Jun 2020 04:18:16 +0000 (13:18 +0900)]
Add rpc-port-util tool
Usage:
$ rpc-port-util -n <port_name>
e.g. $ rpc-port-util -n Message
Change-Id: I19ffecef1648a3e1ba61891de606a75796b1d5be
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
hyunho [Mon, 1 Jun 2020 07:42:23 +0000 (16:42 +0900)]
Add set_private_sharing_array API
- rpc_port_set_private_sharing_array
Change-Id: I5ca3e6f1708e56b5909de20dffca66ee298e7c69
Signed-off-by: hyunho <hhstark.kang@samsung.com>